【问题标题】:JSONP $http request to Dreamfactory returns server error对 Dreamfactory 的 JSONP $http 请求返回服务器错误
【发布时间】: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 时会显示数据以及包装回调。

Link to the JSON data

Link which is actually called from JSONP

【问题讨论】:

  • 我也看得很清楚。你能诊断出内部服务器错误吗?
  • 使用控制台的网络选项卡 (F12) 查看发送的请求参数可能也是一个好主意。
  • JSONCALLBACK 转换为 angular.callbacks._0 似乎是一个角度约定。因此以link 的形式发出请求,而不是上述请求。

标签: angularjs jsonp angular-http


【解决方案1】:

我还不能发表评论,所以我想我得在这里写了。

移除资源注入。只需使用 $http。

ngResource 以增量方式创建这些角度回调名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2012-11-12
    相关资源
    最近更新 更多