AngularJS:使用 ngResource 执行 GET 请求时的状态代码 0
AngularJS: Status code 0 when executing GET request using ngResource
我是AngularJS的新手,所以请耐心等待。我得到了以下代码:
var testModule = angular.module("testModule", ['ngResource']);
testModule.config(function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://api.twitter.com/**']);
});
testModule.controller("SecondController",
function SecondController($scope, $resource){
$scope.secondField = "Hello World";
try{
var restClient =
//$resource("https://api.github.com/repos/angular/angular.js/issues", [],
$resource("https://api.twitter.com/1.1/search/tweets.json", [],
{
"get":{method:"GET", headers:{"Accept":"application/json"},
interceptor: {
"response":function(data){
alert("Response: " + data);
},
"responseError":function(data){
alert("Error: " + data);
}
}
}
});
$scope.about = restClient.get();
} catch(err) {
$scope.error = err.message;
}
$scope.done = true;
}
);
它应该执行 responseError 函数,data.status 应该等于 215(请求需要身份验证才能成功通过(。相反,响应代码为 0。
我实际上正在尝试访问不同的 API(不需要身份验证(,但状态代码也是 0,我真的不知道问题可能是什么。到目前为止,我唯一可以执行的成功请求是:
获取 https://api.github.com/repos/angular/angular.js/issues
由 $resource.query(( 执行。但是,无论是推特还是目标 API 都无法访问。我希望为我提供Twitter示例的解决方案可以帮助我解决我的问题。
谢谢。
编辑:使用AngularJS 1.2.0 rc2
这可能是因为跨域请求。当您尝试访问不同域的 Web 服务时,将出现状态代码 0。在这种情况下,您需要在ngResource中使用JSONP作为方法。
http://docs.angularjs.org/api/ngResource.$resource
相关文章:
- AngularJS$http重定向状态代码
- AJAX错误状态代码500内部服务器错误
- 如何将JavaScript自动POST的状态代码获取到另一个域
- Http状态代码工厂AngularJs
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 运行函数ifsuccess($.ajax)有200个状态代码
- XMLHttpRequest 对象状态代码为 0
- URL中包含特殊字符的HTTP状态代码
- 如何使用scalajs-angular获取请求的http状态代码
- Internet Explorer:可以't访问IFrame内容,除非状态代码为200
- 如何侦听跨域映像请求上的任何301/302重定向状态代码
- 如果 angularjs 中的状态代码为 403,请注销
- 如何让反应路由器响应 404 状态代码
- HTTP 状态代码 - Backbone.js 和 Jquery
- 如何使用 iframe.src 下载文件时获取返回状态代码
- 预检响应具有无效的 HTTP 状态代码 405 - AngularJS + Spring MVC
- 使用 ajaxError 全局处理程序显示 HTTP 状态代码 401 详细信息
- http 状态代码 NodeJS/ExpressJS 错误
- 执行服务呼叫时的状态代码 12004
- AngularJS:使用 ngResource 执行 GET 请求时的状态代码 0