Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AJAX PHP数据返回_Php_Jquery_Ajax - Fatal编程技术网

Jquery AJAX PHP数据返回

Jquery AJAX PHP数据返回,php,jquery,ajax,Php,Jquery,Ajax,我在Jquery中使用ajax函数从带有json_encode函数的PHP脚本返回一些值。返回的数据似乎满是斜杠、引号和\r\n。我知道stripslashes或magic_quotes(已打开)一定有问题,但似乎无法获得干净的输出请确保在从jQuery调用ajax时,告诉它需要json响应。听起来像是返回纯文本并试图手动解析它 $.ajax({ url: "myscript.php", dataType: "json", success: function(data){ c

我在Jquery中使用ajax函数从带有json_encode函数的PHP脚本返回一些值。返回的数据似乎满是斜杠、引号和\r\n。我知道stripslashes或magic_quotes(已打开)一定有问题,但似乎无法获得干净的输出

请确保在从jQuery调用ajax时,告诉它需要json响应。听起来像是返回纯文本并试图手动解析它

$.ajax({
  url: "myscript.php",
  dataType: "json",
  success: function(data){
    console.log( data ); //this line only works with chrome (stock) or FireFox (with FireBug plugin)
  }
});
该代码将在您的控制台中回显(如果您没有带有FireBug的chrome或FF,请获取其中一个:p)json编码的输出。请记住,当您从PHP输出时,您只需执行以下操作:

header('Content-type: application/json');
echo json_encode( $myAssociativeArrayOfData );
exit; //make sure nothing else happens to output something

您不需要使用任何特殊的格式或斜杠。只要确保json代码以json代码的形式输出,并带有适当的头,jQuery的ajax函数就会为您进行转换。结果将是success函数中的数据变量,即json对象(php数组)。因此,如果在PHP中传入如下数组:array('foo'=>'bar'),那么在jquery中的success函数中,可以键入:alert(data.foo);然后得到一个显示“bar”的对话框。

您有没有可能添加一些代码?JSON充满了引号,需要大量转义它的内容,所以它可能是干净的,只是你对它的处理是关闭的。您可以使用jsonlint.com等工具验证JSON