Javascript XMLHttpRequest“NetworkError”

前端之家收集整理的这篇文章主要介绍了Javascript XMLHttpRequest“NetworkError”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一般都没有 javascript和web开发经验.我正在进行的项目是一般公司培训计划的一部分.我们已被指示使用Google Chrome作为主要测试浏览器.

基本上,我正在编写一个将在公司内部网外部的客户端上运行的应用程序. Connections将通过我们的单点登录服务器传递给内部服务.单点登录服务对服务器端应用程序基本上是透明的 – 它拦截对内部服务的请求,并在必要时提示输入凭据.据我所知,它会在发送的每个请求中更改会话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应用程序.

解决方法

我遇到了同样的问题.它似乎只发生在重定向响应上.如果将async标志设置为false并使用回调函数,则错误消失.例如:
xmlhttp.open("GET","http://google.com",false);

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

xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    // do stuff here
  }
}

猜你在找的JavaScript相关文章