我有一个页面使用jQuery的ajax函数发布到网站。 响应是一个JSON对象,它包含一条消息和一些其他状态代码以及编码的HTML,它在成功回调中呈现给div。
这在大多数情况下工作正常,但是,当使用最新的firefox(inc beta)时,当响应大于1 Meg时,成功回调永远不会触发。
这是一个已知问题,是否有解决方法?
我试图废弃JSON对象并发送回直接html,但是会出现同样的问题。 Firefox和jQuery 1.4似乎不喜欢比平均值更大的响应。
由于
更新 - 更多细节 我正在使用Firefox 3.6.13和jQuery 1.4以及asp.net MVC 2。 使用MVC2中的Json方法返回数据。部分视图呈现给字符串以构成JSON。请记住,在返回平面html时我会看到相同的行为。
我将挂接onError回调并查看是否会调用它。
更新2 错误回调告诉我正在发生'parseerror'。
答案 0 :(得分:0)
通常,您需要避免编码HTML。仅传回JSON数据并使用jquery模板(http://api.jquery.com/tmpl/)。
浏览器会对JSON施加大小限制,并且不同浏览器会有所不同。
答案 1 :(得分:0)
我stumbled upon今天发生了类似的错误,但我使用的是jQuery 1.5和MVC3。导致错误的原因是jQuery.validation将应用的默认AJAX设置更新为每个ajax调用,使正常的AJAX调用成为JSONP调用。抛出了parseerror,因为找不到JSONP回调。也许你正面临着类似的问题。