我使用jQuery.parseJSON()
来解析来自jQuery.ajax()
调用PHP脚本的响应。 代码的工作原理除了某些服务器上的字符0000
被插入到响应字符串的开头,导致jQuery.parseJSON()
失败。将字符添加到JSON字符串
我不知道这些角色是如何插入的,有什么想法? 这些字符在回显响应之前不在PHP编码的字符串中。
下面是这种情况:
PHP脚本创建JSON字符串:
$html = json_encode(myArrayOfValues);
echo $html
jQuery.ajax接收编码字符串:
....success: function(html, textStatus){
var response = jQuery.parseJSON(html);
....
固定我添加功能问题删除插入的字符并更改:
var response = jQuery.parseJSON(html);
到:
var response = parseJSONResponse(html);
其中:
function parseJSONResponse(html){
var foundChar = html.indexOf("{");
if(foundChar > 0){
html = html.substring(foundChar);
}
var response = jQuery.parseJSON(html);
return response;
}
最终,它的作品,但我想知道在哪里插入字符的来源以及是否有办法防止它们被插入。
请阅读[如何编辑问题和答案帮助指南](http://stackoverflow.com/editing-help)。 – gdoron
Dammit Felix,你今天编辑很快。 :) –
在文件中是否有其他'echo's?你在使用服务器端框架吗?你使用什么服务器? –