由于某种原因,如果我使用POST而不是.ajax调用,它就不会到达Controller.。
根据我所读到的,multipar/form-数据也可以发送非文件输入,因此这应该是可行的。
我已经尝试了许多变体,但它不起作用,现在我好奇,就像一只狗第一次看到镜子!
这是代码
下面是我的Form,我已经把它切成了最基本的部分:
<form id="forward-post" enctype="multipart/form-data" action="">
<input type="hidden" value="{{$post->id}}" name="val[postid]" />
<button class="post-forward-button" class="btn btn-sm btn-success" id="post-submit-button"><i class="icon ion-compose"></i> Forward</button>
</form>下面是正在调用的Javascript函数:
$(document).on('submit', '#forward-person', function (e)
{
e.preventDefault(); // To prevent page refresh after ajax call
$.ajax({
url : baseUrl + 'post/forward',
type : 'POST',
data : new FormData(this),
contentType : false,
cache : false,
processData : false,
success : function(data) {
console.log('Success function of the ajax call');
}
});
});控制器
公共函数forward() { Log::info('Inside forward()');if (\Log::has(‘Val’)){Log:info(‘Val found');}返回0;}
路由和一切都适用于GET,但为了完成,我再次在这里发布它:
Route::get('forward', [
'uses' => 'App\Controllers\PostController@forward'
]);我还注意到,当我做GET时,控制器不会在输入中找到'val‘。
有线索吗,我做错了什么?
发布于 2015-07-24 15:25:16
由于它是在发出ajax post请求,所以您的路由必须是
Route::post('forward', [
'uses' => 'App\Controllers\PostController@forward'
]);https://stackoverflow.com/questions/31614223
复制相似问题