首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript XMLHttpRequest "NetworkError“

Javascript XMLHttpRequest "NetworkError“
EN

Stack Overflow用户
提问于 2013-08-25 01:02:16
回答 1查看 25.7K关注 0票数 8

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

实际上,我正在编写一个应用程序,该应用程序将在公司内部网外部的客户端上运行。连接将通过我们的单点登录服务器连接到内部服务。单点登录服务对服务器端应用程序大多是透明的-它拦截对内部服务的请求,并在必要时提示提供凭据。据我所知,它在每次发送请求时都会更改会话cookie。

我已经使用HTTP GET和POST连接建立了到服务的连接。但是,有一个服务需要HTTP PUT请求。这就是麻烦来了。

运行脚本时,Chrome javascript控制台显示以下错误:

代码语言:javascript
复制
Uncaught NetworkError: A network error occurred.

这个错误太模糊了。当我查看Chrome developer选项卡中的Network选项卡时,它显示了请求,但没有任何响应数据。

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

有什么方法可以让我获得更多关于这个错误的信息吗?

我对开发内部服务供我们使用的团队不是百分之百有信心,所以使用PUT请求确实是不可能的……这些服务也仍在开发中。

需要说明的是,总体问题是,如果可能的话,我需要这个PUT请求通过我们的SSO应用程序。

EN

回答 1

Stack Overflow用户

发布于 2013-11-13 14:12:20

我也遇到过同样的问题。这似乎只发生在重定向响应上。如果您将async标志设置为false并使用回调函数,那么错误就会消失。例如:

代码语言:javascript
复制
xmlhttp.open("GET","http://google.com", false);

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

代码语言:javascript
复制
xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    // do stuff here
  }
}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18420982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档