【发布时间】:2015-07-15 22:32:19
【问题描述】:
我有一个通过分页器脚本生成 url 的 ajax 调用:
"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() 路由解决了这个问题。所以这是我的新问题:
如何通过简单地传递包含获取数据的 url 来覆盖 ajax 类型?
【问题讨论】:
-
不好意思我想问一下代码,success:function(){}.bind(this),你没有收到任何错误吗?
-
发布答案并检查!
标签: javascript php ajax laravel