【问题标题】:Error from ajax request (YUI) if it is still executing when the user leaves the page如果用户离开页面时它仍在执行,则来自 ajax 请求 (YUI) 的错误
【发布时间】:2012-08-23 06:02:16
【问题描述】:

我的应用程序是用 PHP 和 Symfony 开发的,它运行在标准的 apache2 配置上。

当我在 ajax 请求仍在执行时尝试离开页面时,就会出现问题。脚本停止并返回 500 错误代码。无论在内部做什么,每个 ajax 请求都会发生这种情况。

这是预期的行为吗?

我尝试将 ignore_user_abort 设置为 true,但它似乎不起作用。

【问题讨论】:

  • 您的日志中的错误是什么?
  • 哪个 symfony 版本? 500 错误是作为对 ajax 请求或您正在浏览的页面的响应而生成的?
  • 500 错误来自 ajax 请求的响应。我通常会捕获这些错误并在警报消息中显示它们(我正在尝试转到纯 html 通知),因此在离开页面时会弹出错误消息。
  • apache 和 symfony 日志中没有错误。
  • 您确定这确实是 500 错误,而不仅仅是浏览器在您离开页面时中止请求?

标签: php ajax apache symfony1 symfony-1.2


【解决方案1】:

我的错:我冲了。问题之前没有足够的调查,帖子本身也没有足够的信息。无论如何,您的 cmets 引导我找到了解决方案。

我正在使用 YUI 连接管理器来处理 ajax 请求。正如 Maerly 所建议的,这并不是真正的 500 错误,而是浏览器中止请求,在 Chrome 控制台中看起来像前者。在页面离开时,YUI 调用 status=0 和 statusText="communication failure" 的失败回调,所以我通过忽略这种情况来修复它。

谢谢

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 2015-11-01
    • 2014-12-01
    • 1970-01-01
    相关资源
    最近更新 更多