javascript - 跨域ajax json

标签 javascript jquery ajax cross-domain backbone.js

我在 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/

相关文章:

javascript - div 替换它之后的所有内容,AJAX、PHP、JAVASCRIPT

javascript - 如何使用 Cypress 在 Vuetify <v-slider> 上选择特定点

jQuery、HTTPS 和 WooCommerce API : Error 401

php - 无法使用 jQuery AJAX 获取从 PHP-MYSQL 生成的数据的值

jquery - 带有复选框标签的 ToggleClass

asp.net - 从启用 AJAX 的 WCF 服务返回错误详细信息

ajax - 如何减少/消除 AJAX 请求中的等待时间/延迟

javascript - 使用 google 脚本将 blob 数组附加到 google 文档

javascript - 函数仅适用于第二次调用

javascript - 在 TypeScript 中使用箭头函数 : how to make them class methods?