JavaScript XMLHttpRequest“网络错误”

2024-03-27

一般来说,我在 javascript 和 Web 开发方面缺乏经验。我正在从事的项目是一般公司培训计划的一部分。我们被指示使用 Google Chrome 作为主要测试浏览器。

本质上,我正在编写一个将在公司内部网外部的客户端上运行的应用程序。连接将通过我们的单点登录服务器传递到内部服务。单点登录服务对于服务器端应用程序来说基本上是透明的 - 它拦截对内部服务的请求,并在必要时提示输入凭据。据我所知,它会在发送的每个请求期间更改会话 cookie。

我已使用 HTTP GET 和 POST 连接建立了与服务的连接。但是,有一项服务需要 HTTP PUT 请求。这就是麻烦所在。

运行脚本时,Chrome javascript 控制台会出现以下错误:

Uncaught NetworkError: A network error occurred.

这个错误是如此模糊。当我查看 Chrome 开发者选项卡中的网络选项卡时,它显示了请求,但没有任何响应数据。

出于好奇,我右键单击该请求并将其复制为 cURL 请求。我通过 -b 标志将会话 cookie 附加到请求中。 cURL 返回 HTTP 302,并引用服务器上的 make cookie 脚本。作为 PUT 请求,任何重定向不会导致请求失败吗?但我不确定这就是 Chrome/js 中发生的情况。

有什么方法可以获取有关该错误的更多信息吗?

我对开发内部服务供我们使用的团队不是 100% 有信心,因此使用 PUT 请求确实是不可能的......服务也仍在开发中。

需要明确的是,总体问题是我需要此 PUT 请求来通过我们的 SSO 应用程序(如果可能)。


我遇到了同样的问题。它似乎只发生在重定向响应上。如果将异步标志设置为 false 并使用回调函数,则错误就会消失。例如:

xmlhttp.open("GET","http://google.com", false);

然后你需要一个像这样的函数来监听响应:

xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    // do stuff here
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript XMLHttpRequest“网络错误” 的相关文章

随机推荐