Php 使用Json_encode返回结果

Php 使用Json_encode返回结果,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我使用Jquery对PHP表单进行AJAX调用: $.ajax({ type : 'POST', url : 'submit_form.php', dataType : 'json', data: dataString , 它使用以下代码对数据库中的结果进行编码: echo json_encode($results); 然而,它将数据打印回发出AJAX调用的页面顶部,这完全破坏了IE中的功能,因为它返回声明之前的文本字符串 {"status":false,"

我使用Jquery对PHP表单进行AJAX调用:

$.ajax({
    type : 'POST',
    url : 'submit_form.php',
    dataType : 'json',
    data:  dataString ,
它使用以下代码对数据库中的结果进行编码:

echo json_encode($results);
然而,它将数据打印回发出AJAX调用的页面顶部,这完全破坏了IE中的功能,因为它返回
声明之前的文本字符串

{"status":false,"msg":"Sorry The Queue is full"}<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
{“status”:false,“msg”:“对不起,队列已满”}

无论如何,我可以在页面上取消此echo函数,但仍将数据数组返回到我的页面,以便使用结果,如(data.msg)

对响应数据使用回调函数。回调函数是处理接收到的数据的函数。它必须在全局范围内(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
}

试试这个。成功调用后,您将得到js对象的结果。在控制台中检查结果。

尝试将其放入:
标题(“内容类型:application/json”)echo json_encode($results)


致以最诚挚的问候……

我不太清楚您在说什么,我正在使用
$(文档).ready(函数)(){
“我的ajax成功”函数已经将结果作为参数。您遇到的问题是,您试图将结果回传到已经有数据的页面上。典型的ajax工作流通常是这样的:网页上的一些javascript,如index.html,向单独的服务器页面发出请求,如doWork.php?args=frutsalad->server在原始页面(index.html)上的同一个doWork.php->callback函数上回显结果,侦听要调用的回调函数,并根据收到的数据更新页面。如果我不回显json_编码($result),log返回为null回显结果,然后它将在AJAX调用上可见
dataType:“json”
已指定PHP文件的内容头,重新声明它破坏了代码。@Edward:
dataType
是客户端,而
头(“内容类型:应用程序/json”)
用于定义一个http头,告诉浏览器文档正文中需要什么类型的数据/文档当我将该头添加到php文件时,它会在浏览器窗口中显示我的整个文档,就像我在页面上单击“查看源代码”一样。@Edward是
$results
变量数组吗?@evolquez是的,它是一个关联变量数组。
$.ajax({
  type : 'POST',
    url : 'submit_form.php',
    dataType : 'json',
  success: function(data) {
   console.log(data);
});