0

我正在尝试向我的角度控制器中的google fusion表获取请求。

$http.get(url) 
    .success(function(data) { 
     //Do stuff with data 
    }) 

这工作在火狐,Chrome,Safari和IE10 +然而,在IE9(对此我requried支持)请求失败,甚至发送和控制台显示access is denied。我已经看过其他的stackoverflow答案,我相信它与跨源请求有关。我试过This stackoverflow answer无济于事。

我设法解决了现在使用下面的jQuery的问题。不过,我宁愿在可能的情况下使用角库。我也想知道为什么下面的工作和我的角度$http请求不。

$.ajax({ 
    url: urlForId.join(''), 
    dataType: 'jsonp', 
    success: function(data) { 
    //Do stuff with data 
    } 
}); 

回答

1

您应该使用)的角度$ http.jsonp(请求,而不是$ http.get()。

JSONP或“带填充的JSON”是允许从不同域下的服务器(也称为“跨源请求”)请求数据的通信技术。这是你在jQuery AJAX请求中使用的。

https://docs.angularjs.org/api/ng/service/$http#jsonp

+0

谢谢,我其实试过$ http.jsonp()请求,但在我赶我忘了正确设置回调处理程序。你的回答证实,这是我应该使用的,并且让我看起来更接近。 – Jags