Angularjs $ http无法获取数据,但可以从$ jquery.ajax获取

时间:2015-07-08 12:39:38

标签: javascript jquery ajax angularjs

我厌倦了使用jquery.ajax()从api获取数据并且正常工作

这是代码:

$.ajax({
   url: "http://api.somesite.com/api?format=json",
  type: "GET", //it works with POST as well
  dataType: 'jsonp',
 })
  .done(function( data ) {
    if ( console && console.log ) {
      console.log( "Sample of data:", data );
    }
  });

现在我想对angularjs做同样的事情,所以我做了以下

首先我这样做了:

var req = {
 method: 'GET',
 url: "http://api.somesite.com/api?format=json",
 headers: {
   'Content-Type': "application/json",
  },
}

 $http(req).then(function(response){
          console.log(response.data);
        });

我在控制台中得到了这个:

XMLHttpRequest cannot load http://api.somesite.com/api?format=json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.

然后我尝试了这个:

 $http.jsonp('http://api.somesite.com/api?format=json', {
    headers: {
        "content-type":"application/json",
        "Accept" : "application/json"
    }}).success(function(data, status) {
         console.log(status);
          console.log(data);
        }).
        error(function(data, status) {
          console.log(status);
          console.log(data);
        });

我收到错误代码 404 ,数据为未定义

请告诉我们如何完成。我没有访问服务或api所以我无法以任何方式修改api。

0 个答案:

没有答案