如何使用CORS和backbonejs向API发出ajax请求
发布时间:2020-12-16 03:07:22 所属栏目:百科 来源:网络整理
导读:我正在开发一个backbone.js项目,我正在调用我的github repo.我有我的Collections和Models bootloaded,所以当我的页面构建时它们就存在了,但是当我调用model.fetch()时,我得到这样的消息:(用户名替换:username) XMLHttpRequest cannot load https://api.gith
我正在开发一个backbone.js项目,我正在调用我的github repo.我有我的Collections和Models bootloaded,所以当我的页面构建时它们就存在了,但是当我调用model.fetch()时,我得到这样的消息:(用户名替换:username)
XMLHttpRequest cannot load https://api.github.com/users/:username. Origin http://mydomain.com is not allowed by Access-Control-Allow-Origin. 我已经阅读了一些消息post1,post2,他们提到修改了backbone.sync函数,但我不完全确定如何.这是我到目前为止的代码(这是在我的Backbone.Router中): userDetails: function(id) { console.log('Loading: userDetails'); var User = Users.get(id); User.fetch({dataType: "jsonp"}); console.log(User); userView = new UserView({ model: User }); userView.render(); }, 谢谢!
后端启用CORS. jQuery基础知道它何时发出跨源请求并相应地修改它.问题是服务器,在这种情况下,api.github.com不允许CORS请求.
服务器必须以(最小值)响应: Access-Control-Allow-Origin:*(或您的页面所在的主机) 由于您可能不拥有github,因此您必须编写服务器端代理或查看github是否可以为您提供JSONP调用(jQuery也很乐意为您提供). MDN Documentation on Access-Control 编辑 话虽这么说,如果您需要通过骨干修改jQuery提出的请求,则无需覆盖同步方法.使用jQuery’s (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |