【问题标题】:Why am i getting XMLHttpRequest error status 0 from google app engine?为什么我从谷歌应用引擎得到 XMLHttpRequest 错误状态 0?
【发布时间】:2012-11-13 08:34:38
【问题描述】:

我在谷歌应用引擎上有一个应用。我只需要更新它并添加一些额外的功能。我为此写了一个servlet。并使用我之前在整个应用程序中使用的 jQuery.ajax() 发送请求。请求转到 servlet 并执行我想做的所有操作。并为响应创建一个 json 字符串。 servlet 也不例外。但我在客户端收到 XMLHttpRequest 错误状态 0。我尝试了很多搜索并查看了文档,但无法解决。有人知道为什么会这样吗?提前致谢。

【问题讨论】:

  • 您是否在托管您的应用程序并请求来自同一域的响应?你用什么浏览器来测试?
  • 是的。我正在使用 Mozilla firefox 进行测试
  • 您是使用绝对路径还是相对路径来访问您的资源?
  • 可能的跨域安全问题??

标签: google-app-engine servlets


【解决方案1】:

可能是google app引擎的跨域问题,部分google站点会忽略XMLHttpRequest生成的跨域HTTP OPTION请求。

XMLHttpRequest POST/PUT 将首先向另一个域上的资源发送一个 HTTP OPTIONS 请求头,以确定实际请求是否可以安全发送。但有些谷歌网站总是针对这个请求回复“404 Not Found”。您将在回调函数中收到 http_request.status = 0。

您可以使用 Chrome 浏览器并按“F12”使用开发者工具监控 HTTP OPTIONS 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多