首页 > JavaScript > jQuery AJAX无法解析JSON数据

jQuery AJAX无法解析JSON数据

2011年6月11日 发表评论 阅读评论

今天遇到一个很奇怪的问题,使用jQuery Ajax请求JSON数据,Firefox下一切正常,Internet Explorer下无法正常工作,错误是parsererror。

另外写了一个测试文件,用jQuery写最简单的Ajax请求和响应,结果一切正常。

这令我百思不得其解,JSON数据是用PHP的json_encode()函数编码的,照理不应该还有这么严重的bug吧。jQuery也是一直在改进,如果还存在这样的bug也很难理解。

又怀疑是IE缓存问题,可是清了好几遍缓存都是一样的结果。

将响应的数据格式改为HTML类型后,alert出来一切正常,难道返回的JSON数据有问题?

于是新建HTML文件,将生成的JSON代码贴入,保存时Dreamweaver提示编码有问题。仔细检查了一遍,没发现特殊的字符。

我突然想起,会不会是含有不可见字符?用smart sniff查看请求,响应消息中果然有不明字符串。那一定是BOM!Windows下的很多编辑器就常干这种事情,自动给文件加上BOM标记。

使用Notepad++将文件编码修改为不带BOM的UTF-8格式后,再次测试,一切正常。

分类: JavaScript 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.