我的 jquery 代码:
var value = $.ajax({
type: "POST",
url: "to_submit.php",
data: $('#submit').serialize(),
cache: false,
async: true
}).success(function(response){
console.log(response);
console.log("data received");
console.log(response.data);
$("#appended").append(response);});
}).error(function() {});
});
和 PHP
include("../header.php");
$to_return = "test";
echo "\ndata: " . json_encode($to_return);
flush();
javascript部分中的console.logs如何表现:
第一个console.log :(很多代码信息(头部,身体等)与我的网站标题相关!)
仍然是第一个console.log:data:" test"
console.log("收到的数据");
第二个console.log:undefined
因此,数据被识别为 undefined ,并且正在刷新大量代码,我无法弄清楚原因......
答案 0 :(得分:3)
两件事:首先,您不需要使用flush()
- 只需echo
您的数据并结束您的脚本。
其次,echo
语句的结果:data: ["insert your data here"]
无效JSON,您无法在客户端解码。
答案 1 :(得分:2)
更改
echo "\ndata: " . json_encode($to_return);
到
echo json_encode($to_return);
因为js解码函数无法正确解析此字符串(它不是有效的json字符串)。