Javascript 301重定向阻止Openshift上的CORS选项请求
我正在用Laravel 4编写一个RESTful api,它将被Backbone.js应用程序使用 当我使用GIT部署代码时,我收到一条消息,上面说: 选择应用程序目录“public/”作为DocumentRoot 在使用Backbone.js应用程序时,PUT、GET和DELETE请求得到了适当的处理,但飞行前请求(选项)失败,因为我尝试发出POST请求时重定向: 请求方法:选项Javascript 301重定向阻止Openshift上的CORS选项请求,javascript,backbone.js,cors,openshift,Javascript,Backbone.js,Cors,Openshift,我正在用Laravel 4编写一个RESTful api,它将被Backbone.js应用程序使用 当我使用GIT部署代码时,我收到一条消息,上面说: 选择应用程序目录“public/”作为DocumentRoot 在使用Backbone.js应用程序时,PUT、GET和DELETE请求得到了适当的处理,但飞行前请求(选项)失败,因为我尝试发出POST请求时重定向: 请求方法:选项 状态代码:301已永久移动 控制台上出现此错误时: XMLHttpRequest无法加载http://MY-DOM
状态代码:301已永久移动 控制台上出现此错误时: XMLHttpRequest无法加载
http://MY-DOMAIN.rhcloud.com/projetos/
。请求被重定向到'http://MY-DOMAIN.rhcloud.com/projetos“
,这不允许用于需要飞行前的跨源请求
这是因为CORS政策:
如果响应的HTTP状态代码为301、302、303、307或308应用缓存和网络错误步骤 我怎样才能克服这个问题?有没有办法绕过或配置Openshift重定向 >>编辑 我在Chrome javascript控制台上遇到这个错误,因为我的主干应用程序仍处于开发阶段。下面是复制问题的步骤: 我有一个全局名称空间“App”,我的项目是这样组织的:App.Models、App.Collections等等 模型
App.Models.Projeto = Backbone.Model.extend({
defaults : {
codigo : '',
titulo : '',
url : '',
status : ''
}
});
收藏
App.Collections.Projetos = Backbone.Collection.extend({
model : App.Models.Projeto,
url : 'http://MY-DOMAIN.rhcloud.com/projetos'
});
在控制台上
var projetos = new App.Collections.Projetos;
projetos.create({
titulo : "blablabla",
codigo : "12jk4h3",
url : "example.com",
status : 0
});
我能够获取、编辑和删除集合中的模型。我唯一不能做的就是创建一个新的
最后一件事,我重定向到的URL是相同的URL,但结尾没有“/”
因此,即使集合中的“url”属性设置为
http://MY-DOMAIN.rhcloud.com/projetos
主干似乎添加了一个“/”,然后在服务器中,它会被重定向。欢迎来到Stack Overflow,感谢您花时间写一个格式良好的问题!但是,我们可以看到导致问题的代码吗?您可以获取响应试图重定向到的URL,并将请求直接发送到该URL吗?URL可以在位置响应标题中找到。嘿,伙计们,谢谢你们的快速回复!我已经添加了您要求的详细信息,希望我能说清楚,对任何英语错误表示抱歉,这不是我的主要语言。