我正在尝试向我的 Angular Controller 中的谷歌融合表发出简单的获取请求。
$http.get(url)
.success(function(data) {
//Do stuff with data
})
这适用于 firefox、chrome、safari 和 IE10+,但是在 IE9(我需要支持)中,请求甚至无法发送,并且控制台显示访问被拒绝
。我查看了其他 stackoverflow 答案,我相信它与跨源请求有关。我试过This stackoverflow answer没有效果。
我现在已经使用下面的 jQuery 设法解决了这个问题。不过,我宁愿尽可能利用 Angular 库。我还想知道为什么下面的方法有效,而我的 Angular $http
请求却不起作用。
$.ajax({
url: urlForId.join(''),
dataType: 'jsonp',
success: function(data) {
//Do stuff with data
}
});
最佳答案
您应该使用 Angular $http.jsonp() 请求而不是 $http.get()。
JSONP 或“带填充的 JSON”是一种通信技术,允许从不同域下的服务器请求数据(也称为跨源请求)。这是您在 jQuery AJAX 请求中使用的内容。
关于javascript - IE9 中的 Angular $http 和 Fusion Table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971984/