【发布时间】:2015-01-07 04:27:09
【问题描述】:
我正在尝试通过 $http 请求访问 dreamfactory 数据。为了处理跨域请求,我刚刚添加了带有 url 的 JSON 回调。
.factory('DonorService', ['$resource','$http', '$q',
function($resource,$http,$q){
return{
getDonors:function(){
var donor = "https://dsp-sixerofsixes.cloud.dreamfactory.com/rest/db/icbd_donors/?callback=JSON_CALLBACK&app_name=blooddonate&fields=*";
var deferred = $q.defer();
$http.jsonp(donor).
success(function(data, status, headers, config) {
console.log(data);
deferred.resolve(data);
}).
error(function(data, status, headers, config) {
console.log(data);
});
return deferred.promise;
}
}
}])
但在发出请求时,它会在 df.xml 中创建内部服务器错误。在浏览器中输入 url 时会显示数据以及包装回调。
【问题讨论】:
-
我也看得很清楚。你能诊断出内部服务器错误吗?
-
使用控制台的网络选项卡 (F12) 查看发送的请求参数可能也是一个好主意。
-
JSONCALLBACK 转换为 angular.callbacks._0 似乎是一个角度约定。因此以link 的形式发出请求,而不是上述请求。
标签: angularjs jsonp angular-http