我正在使用Jquery的AJAX调用PHP表单:
$.ajax({
type : 'POST',
url : 'submit_form.php',
dataType : 'json',
data: dataString ,
使用以下方法对数据库中的结果进行编码:
echo json_encode($results);
然而,它将数据打印回到进行AJAX调用的页面顶部,这完全打破了IE中的功能,因为它在<html>
声明之前返回文本字符串。
{"status":false,"msg":"Sorry The Queue is full"}<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
无论如何我可以在页面上抑制这个echo函数但仍然将数据数组返回到我的页面,这样我就可以使用像(data.msg)这样的结果
答案 0 :(得分:1)
尝试在代码前添加header("Content-type: application/json");
:echo json_encode($results);
。
最好的问候......
答案 1 :(得分:0)
对您的回复数据使用回调函数。回调将是一些处理收到数据的函数。它必须在全球范围内(AFAIK)。当服务器的响应准备就绪时,将调用该函数并处理数据。
// from the server:
someFunction({"status":false,"msg":"Sorry The Queue is full"});
// in your page, in a script tag, etc.
window["someFunction"] = function(result){
// do something
}
答案 2 :(得分:0)
$.ajax({
type : 'POST',
url : 'submit_form.php',
dataType : 'json',
success: function(data) {
console.log(data);
});
试试这个。成功通话后,你会得到js对象的结果。在控制台中检查结果。