当前位置: 首页 > 面试题库 >

AngularJS-$ http get返回状态为0的错误?

霍建柏
2023-03-14
问题内容

我在这我想从服务器获取与$ HTTP GET
XML数据的AngularJS应用说http://example.com/a/b/c/d/getDetails?fname=abc&lname=def(此通过在浏览器中输入链接进行手动访问时显示XML文件的树状结构)。

当我运行应用程序时,不会从该链接获取数据。而是显示 状态为0 的错误。

//url = http://example.com/a/b/c/d/getDetails?fname=abc&lname=def
$http.get(url).success(function (data){
                alert("Success");
                deferred.resolve(data);
            }).error(function (data, status){
                console.log("Error status : " + status);
            });

我不确定$ http.get为什么会失败并转到返回状态0的错误函数。

但是,如果我将URL传递给具有JSON对象的本地服务器,则它可以工作。

是因为我试图从其他域访问XML文件(CORS问题?)还是其他原因引起的问题?

请帮帮我!


问题答案:

您有HTTP访问控制(CORS)问题。

回答您的REST请求的服务器必须包含CORS指定的标头,以允许Angular正确使用响应。从本质上讲,这意味着在响应中包括Access-Control-Allow-Origin标头,以指定允许发出请求的服务器。
指令Angular允许获取/设置白名单和黑名单,以确保用于采购Angular模板的URL安全



 类似资料:
  • 我得到这个错误时,创建新的贝宝通知与活跃的商人 一个OpenSSL::SSL::SSLError发生在payment_notifications#创建:SSL_connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败 /home/user/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:在'连接

  • 问题内容: 好的,我已经到处寻找了。基本上,我们使用的是跨域请求的$ http请求。我们的服务器允许该域,当请求返回200时,一切正常。但是,无论何时我们的服务器返回错误500、401,无论如何,Angular都认为这是CORS问题。 我用Fiddler调试了响应,以验证服务器是否返回了500,但Angular阻塞了。 这是请求: 然后在控制台中,我将看到: XMLHttpRequest无法加载f

  • 问题内容: 这真让我感到困惑。我收到来自Ajax的错误回调。但是,如果我从错误消息中获取res.responseText(返回正确,顺便说一句)并使用它,则它做对了。就像我收到了成功的回调一样。 数据设置如下: 和ajax调用是这样的: 错误消息是:发生错误:。 问题答案: 如果您的responseText不是正确的JSON,则会引发解析错误。无论是 确保你的反应是一个有效的JSON 或 删除。

  • 问题内容: 我正在为JSON运行$ http.get,并且状态为0。我已经下载了相同的JSON,并且get在本地运行,并且在Python中使用请求库可以毫无问题地获取JSON,但是在AngularJS它不起作用。我不明白的是为什么为什么angular没有得到它,而其他所有东西都得到了。下面的代码段。 这提供了JSON并在使用本地文件时对其进行了解析,但否则会失败,并将status1设置为0。 问题

  • 像“addSomething()”这样的类也有方法。这个可以成功也可以不成功。因此,成功的状态可以用一个布尔返回值来显示。但是有时方法调用会因为几个原因而失败。“false”显示了这一点,但只是以一般方式显示。有时程序员想知道失败的原因。为此,提供一个自己的报告类来提供这样的功能有用吗? 然后,您可以决定是否要使用“wassucsuccess()”获取一般成功报告,或者是否还要使用“getMess

  • 问题内容: 我试图按照此链接中的建议将错误返回到对控制器的调用,以便客户端可以采取适当的措施。javascript通过jqueryAJAX调用控制器。仅在不将状态设置为error的情况下,我才可以重新获得Json对象。这是示例代码 如果没有设置状态码,我会得到Json。如果设置状态代码,则会返回状态代码,但不会返回Json错误对象。 更新 我想将Error对象作为JSON发送,以便可以处理ajax