我有一个ajax调用,它有一个通过分页器脚本生成的url:
"http://192.168.1.23:8000/pricing/0/999/null/?page=9"
在服务器上生成完全相同的链接:
"https://xxx.xxx.xxx/pricing/0/999/null/?page=9
链接被传递到这个ajax调用,在本例中设置为data
。
$.ajax({
url: (data) ? data : '/pricing/' + this.state.country + '/' + this.state.operation + '/' + this.state.optional,
type: 'POST',
data: {
_token: window.token
},
success: function (e) {
$('#loader-wrapper').fadeOut();
this.setState({
paginator: true,
menuActive: false
});
this.handleArticles(e);
}.bind(this),
error: function (err) { alert(err);
console.log(err);
}
})
在本地主机上,加载下一页没有任何问题,但在服务器上我得到一个错误405 - Method Not Allowed
。
我用的是react.js和laravel的组合。我这类链接的路线是:
post('pricing/{country}/{operation}/{page}', 'PricingController@getArticles');
我只知道方法不允许从get request
到post
路由的错误,但情况并非如此,因为ajax正在执行post调用,尽管有一些附加的"get数据“,更重要的是,它正在本地主机上工作。有人对此有什么解释吗?我该怎么解决?
编辑
我通过添加一个get()
路由来解决这个问题。我的新问题是:
通过简单地传递包含get数据的url,ajax类型如何被重写?
发布于 2015-05-06 01:12:46
您要针对的网址是否位于另一个站点?如果是,则可能是CORS,因此您的url调用需要返回以下标头
访问-控制-允许-来源:*访问-控制-允许-头:源,SecurityPrivateKeyID访问-控制-允许-方法:获取、发布、放置、删除、选项
https://stackoverflow.com/questions/30065712
复制相似问题