【发布时间】:2016-03-08 18:50:24
【问题描述】:
我在处理 Ajax 请求时遇到问题,我想使用 jQuery 发布一些数据。我不得不说,在使用GET 之前它工作正常,但是我有很多数据要发送并且我得到:(Request-URI Too Long) 所以,为此我要更改发布。
我正在使用 Laravel,我将路由从 get 更改为 post,控制器中的方法被正确调用,但由于某种原因,ajax 请愿书没有'不发送数据(组和段)。
组和段是 Javascript 数组,正如我所说,它适用于 GET,但当数据太长时它会失败。
我当前的代码如下所示:
$.ajax({
type: "POST",
data: {groups:groups, segments:segments},
url: "check",
success: function(msg){
//something...
});
});
我也尝试添加以下行:
contentType: 'application/json; charset=utf-8',
但是我得到了相同的结果,当我尝试读取控制器中的变量时出现错误 500。
我在 Laravel 的路线是:
Route::post('check',array('as'=>'check','uses'=>'FileController@checkfile'));
如果我输入return 'Hallo!';文本也被返回,那么,查看发送到我创建的控制器的所有变量:
dd(Input::all());
但它会打印一个空数组。因此,对于我所看到的问题不是路线,而是我使用 ajax 发送数据的方式 谢谢!
【问题讨论】:
-
请为这个 Ajax 查询发布你的 Laravel 路由。
-
假设您使用的是 nginx,large_client_header_buffers 应该可以解决这个问题。 stackoverflow.com/questions/1067334/…
-
@AlexeyMezenin 已编辑!
-
你试过在url前加斜杠吗:'/check';还有你的 Route::post('/check', array.....) ?
-
@CanCelik 嗨!,是的,我也试过了,但没有