作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于某种原因,如果我在 .ajax 调用中使用 POST 而不是 GET,它不会到达 Controller 。
据我了解,multipar/form-data 也可以发送非文件输入,因此这应该有效。
我已经尝试了多种变体,但都不起作用,现在我像一只狗第一次看到镜子一样好奇!
这是代码
这是我的表单,我已将其精简:
<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');
}
});
});
Controller
公共(public)函数转发(){ Log::info('Inside forward()'); 如果 (\Input::has('val')) { Log::info('Val found'); } 返回 0;
路线 和 GET 的一切都适用,但为了完成,我再次将其发布在这里:
Route::get('forward', [
'uses' => 'App\Controllers\PostController@forward'
]);
我还注意到,当我执行 GET 时, Controller 在输入中找不到“val”。
任何线索,我做错了什么?
最佳答案
因为它正在发出 ajax post 请求,所以你的路线必须是
Route::post('forward', [
'uses' => 'App\Controllers\PostController@forward'
]);
关于javascript - 拉拉维尔 : can't I use enctype ='multipart/form-data' to POST non file inputs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31614223/
我是一名优秀的程序员,十分优秀!