2016-07-27 46 views
-1

我想使用jQuery将表单数据发送到另一个PHP页面。jquery序列化表单数据返回错误

这是我的代码:

var datastring = $("#form1").serialize(); 
      $.ajax({ 
       type: "POST", 
       url: "save.php", 
       data: datastring, 
       dataType: "json", 
       success: function(data) { 
        console.log(data) 
       }, 
       error: function(data) { 
        alert('error handing here'); 
        console.log(data) 
       } 
      }); 

当我运行此我得到一个警告“错误处理这里的输出记录到我的控制台。

保存只包含:

<?php 
    ECHO "HELLO"; 
?> 

登录控制台上的数据是:

Object {readyState: 4, responseText: "HELLO", status: 200, statusText: "OK"}

任何人都可以提出建议,为什么这不工作..而当它我该怎么办读取提交到save.php的数据?

感谢

+2

你请求一个JSON响应,但是'HELLO'不是有效的JSON 。因此,jQuery的内部解析操作失败,并且您收到错误。 –

+2

您没有从PHP脚本返回格式化的JSON字符串,这就是为什么。因此,要测试它,返回JSON或移除'datatype'选项以获得ajax请求 –

+1

'dataType:'text''将解决这个问题,或者在您的PHP中使用'json_encode()'来实际返回一个JSON响应。 –

回答

2

你不回应JSON在你的脚本,它是纯文本。所以,你应该改变你的dataTypehtmltext

dataType: "html", 

或更改你的PHP脚本的JSON响应:

echo json_encode(array("text" => "HELLO"));