我在 site.com 上试图从我在端口 8080 上服务的 node.js 服务器获取一些 json 数据。
我收到此错误消息:
XMLHttpRequest cannot load http://site.com:8080/json/1. Origin http://site.com is not allowed by Access-Control-Allow-Origin.
我的代码:
$.get('http://site.com:8080/1/', {}, function (Data) {
console.log(Data);
}, "json");
但它是同一个域! :(
还要考虑我的 backbone.js 模型:
model = Backbone.Model.extend({
url: function() {
return 'http://site.com:8080/' + this.id
}
});
除了使用 jsonp 之外,还有什么办法可以解决这个问题吗?
谢谢。
最佳答案
如果您正在调用同一个域,为什么您的 $.get
请求中有绝对路径?
试试这个:
$.get('/1/', {}, function (Data) {
console.log(Data);
}, "json");
model = Backbone.Model.extend({
url: function() {
return '/' + this.id
}
});
如果您确实在同一个域上进行调用,那么上面的代码应该可以工作。
关于javascript - 跨域ajax json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987902/