【发布时间】:2012-10-15 23:35:26
【问题描述】:
我今天尝试获取模型时收到 503 HTTP 错误。
此代码在 2 天前工作...我认为唯一的区别是我更新了节点及其依赖项。
然后我收到Origin MY_DOMAIN is not allowed by Access-Control-Allow-Origin.,GET 请求出现 503 HTTP 错误(使用 Chromium 和 Firefox)。
奇怪的想法是,我可以 curl 相同的 url,服务器处理它并返回响应......
我尽可能地简化了服务器,但它仍然无法正常工作,代码如下:
var express = require("express");
var app = express();
app.get('/user/:username/:facebook_id/:facebook_token', function(req, res){
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
console.log('Something is happening.. ');
res.send({error: 'test'});
});
app.listen(3000);
在客户端,我只是从模型中调用 fetch...
initialize : function() {
var that = this;
this.model.fetch({
success: function(_model){
console.log('User fetched successfully on initialize');
that.render();
},
error: function(_model, error){
console.log('User fetched unsuccessfully on initialize');
}
});
GET 请求失败后我去错误回调。
有人有想法吗?您认为这可能与上次更新的 express 节点和骨干网有冲突吗?
谢谢!
更新:
显然由于我的VPN,它不起作用,我现在在中国......它可以解释不允许的错误。我会尽快更新主题。
【问题讨论】:
-
浏览器对
OPTIONS请求的响应是什么?您是否为所有响应设置Access-Control-Allow-Origin标头? -
我刚刚收到 XMLHttpRequest 无法加载 MY_DOMAIN:1000/user/anonymous/1235486421/…。 Access-Control-Allow-Origin 不允许来源MY_DOMAIN。在我的浏览器中,我只有在尝试调用 save() 时才会获得 OPTIONS。是的,我把我所有的服务器代码都给了你。
标签: javascript backbone.js express