jquery:ajaxError始终触发最后一次

时间:2009-02-27 17:50:43

标签: jquery ajax error-handling

我正在构建一个页面,可能会从ajax调用中接收 LARGE 数量的html,而不是插入到页面中。 有时,我会得到一个http 401错误,而不是我期待的HTML。 理想情况下,我希望首先触发错误处理程序,因此我可以设置错误标记,显示消息,并且 NOT 插入进来的html。

我遇到的问题是错误处理程序触发最后,因此我已经插入了html,其中包含未执行的脚本标记,并且它会使一切都爆炸。

另外,我注意到ajaxError在“完成”处理程序之后触发,这会打击。

3 个答案:

答案 0 :(得分:4)

您应该使用success处理程序而不是complete来更新html,因为只有在服务器发送200时才会触发它。

答案 1 :(得分:0)

如果您在ajax调用中使用GET Method instace POST,则问题是您可以接收的字符数限制。

一个解决方案是将之前的内容保存在类似的时间xml中,并在de call之后获取内容。

答案 2 :(得分:0)

有几点想法:

  • 设置你的ajax回调函数 它检查的内容 返回字符串以确保它是 有效。如果不符合您的预期,请不要插入。

  • 您的ajax错误处理程序应该不执行回调(即插入HTML)并执行错误处理代码。如果发生这种情况,您可能在其他地方出现错误。

  • 如果需要,您可能需要查看设置超时选项。