1
我正在JQuery中使用ajax函数从PHP脚本中返回一些具有json_encode函数的值。返回的数据似乎充满了斜杠,引号和\ r \ n。我明白,一定有什么东西出现错误与stripslashes或magic_quotes(已打开),但似乎无法设法得到一个干净的输出Jquery AJAX PHP数据返回
我正在JQuery中使用ajax函数从PHP脚本中返回一些具有json_encode函数的值。返回的数据似乎充满了斜杠,引号和\ r \ n。我明白,一定有什么东西出现错误与stripslashes或magic_quotes(已打开),但似乎无法设法得到一个干净的输出Jquery AJAX PHP数据返回
请确保从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)
}
});
该代码将在控制台回声(如果你没有铬或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函数应该将其转换为您。结果将是成功函数中的数据变量,即您的json对象(php数组)。因此,如果你在PHP中传入这样的数组:array('foo'=>'bar'),那么在jQuery中的成功函数中,可以输入:alert(data.foo);并获得一个对话框,说“酒吧”。
任何机会,你可以添加一些代码?会帮助你很多,试图帮助你 – ManseUK
JSON充满了引号,并且需要大量的内容转义,所以它可能是干净的,只是你的处理已经关闭了。 JSON.org,您可以使用jsonlint.com等工具验证JSON。 –
请给我们代码。 –