我正在做一个ribs.js项目,我在叫我的github仓库。我已经引导了我的Collections和Models,因此一旦构建页面,它们就会存在,但是当我调用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,它们提到了修改ribs.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: * (or the host in which your page is being served)
由于您可能不拥有github,因此您必须编写服务器端代理,或者查看github是否可以为您提供JSONP调用(jQuery也很乐意为您提供)。
MDN有关访问控制的文档
编辑
话虽如此,如果您需要通过主干修改jQuery发出的请求,则无需重写该sync
方法。使用jQuery的$.ajaxSetup
方法添加任何其他标头,设置类型等。只需确保$.ajaxSetup
在与相同的上下文或闭包中运行该方法.save()
,.fetch()
否则.destroy()
将要运行,否则您将无法获得执行的工作。$.ajaxSetup
问题内容: 这是根据提供的示例验证geoJSON的代码: 我正在尝试使用以下代码进行验证: 在此,我提出实际要求: 我在Chrome控制台中收到此错误: 标题 这是与请求相关的数据: 问题答案: 您不应该将其设置为请求标头,而是响应标头。 您可以从响应中看到服务器将接受哪些请求标头: 错误消息告诉您: 似乎也可能不接受。
问题内容: 我正在尝试使用Polymer和Node检索数据,但正努力获得有效的响应。我收到起飞前响应错误,提示不允许。 我在上运行Polymer,在上运行Node 。 如何配置节点或客户端以加载响应? 客户 节点 … 错误 无法加载 http:// localhost:8080 / login?username = user&password = password : 所请求的资源上没有’Acce
问题内容: 我有一个RESTful API,我已在EC2实例上使用Elasticsearch的实现公开了索引内容的语料库。我可以通过从终端机(MacOSX)运行以下命令来查询搜索: 如何使用或(不确定要使用哪个请求- 一直在使用urllib2,但听说请求更好…)将以上转换为API请求?我是否可以通过标题? 问题答案: 使用请求: 然后,根据您的API返回的响应类型,您可能需要查看或(或可能先检查)
我有一个RESTful API,我在EC2实例上使用Elasticsearch实现来索引内容语料库。我可以通过从我的终端(MacOSX)运行以下命令来查询搜索: 我如何使用python/requests或python/urllib2将上述内容转换为API请求(不确定应该选择哪一个-一直在使用urllib2,但听说请求更好?我是作为标题传递还是以其他方式传递?
在musicbrainz文档中,据说: “任何浏览请求都支持一个‘偏移=’参数来获得更多结果。浏览请求还支持'限制=':默认限制为25,您可以将其增加到100。" 因此,我尝试将限制增加到100,并获取每个偏移的结果,如下所示: 问题是,我从api获得的发布不等于发布计数。如果我将限制设置为25(默认值),并以25而不是100的增量循环偏移,则不会出现此问题。 如何使用musicbrainz ap
问题内容: 如何使用jQuery明确提出AJAX HTTPS GET请求?我正在尝试执行以下操作。在https页面上,我有一行代码,但是出现以下错误 如果相对资源来自https页面,为什么AJAX调用会尝试使用HTTP协议访问页面?如果$ .get(url)方法默认执行此操作,那么我如何使用jQuery进行显式的HTTPS GET请求?在http://forum.jquery.com/topic/