我正在使用jQuery.parseJSON()
解析从jQuery.ajax()
调用到 PHP 脚本的响应。该代码有效,但在某些服务器上,字符0000
插入到响应字符串的开头导致jQuery.parseJSON()
失败。
我不知道这些字符是如何插入的,有什么想法吗?在回显响应之前,这些字符不在 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;
}
最终,它可以工作,但我想知道插入的字符来自哪里,以及是否有办法阻止它们被插入。