使用Json_encode返回结果

时间:2012-10-27 03:47:59

标签: php jquery ajax json

我正在使用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)这样的结果

3 个答案:

答案 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对象的结果。在控制台中检查结果。