angularjs jsonp请求失败

时间:2014-06-16 14:17:22

标签: jquery angularjs jsonp angularjs-http

我试图向服务器发送jsonp请求。 但是,我似乎根本无法让它工作......

我一直在尝试的是使用此代码请求它:

var deferred = $q.defer();
  $http({
        url: 'http://teacher.standoutcms.se/questions.js/?callback=JSON_CALLBACK',
        method: 'jsonp',
        headers: { 'Content-Type': 'application/javascript' }
    }).success(function(response) {
        deferred.resolve(response);
    }).error(function(response) {
        deferred.reject(response);
    });
  return deferred.promise;

我得到的回复是错误,它说:

Uncaught ReferenceError: JSON_CALLBACK is not defined questions.js?callback=?:1

我尝试过使用普通的Jquery,但仍然会发生同样的事情。

最后但并非最不重要的是,我设法让它使用此代码:

var url = "http://teacher.standoutcms.se/questions.js?callback=?";
$http.jsonp(url);

$window.JSON_CALLBACK = function(response){
  return response;
}

这里唯一的问题是我无法使用success,error或var deferred = $ q.defer();等待回应...

我一整天都在努力,请帮助我:/

此致

1 个答案:

答案 0 :(得分:1)

我在这里工作http://plnkr.co/edit/Sj4j8kXXAlPCEst0xg3W?p=preview并没有抛出错误,但问题是你调用的接口返回了错误的MIME,它是text/html但应该是application/json我认为任何解决方法都是hacke,如果可以的话,最好联系开发人员