gpt4 book ai didi

jquery - Laravel 5 Controller 不会从 ajax 表单接收数据

转载 作者:行者123 更新时间:2023-12-01 01:42:45 25 4
gpt4 key购买 nike

好吧,伙计们,我被这个问题难住了。我正在使用 jQuery/Ajax 向我的 Laravel 5 Controller 提交表单(路由运行良好,没有问题)。除了表单中的数据之外, Controller 返回的正是我所期望的。

这是一些代码。

表格:

    <form action="/candidateajax/add/" enctype="multipart/form-data" method="post" accept-charset="utf-8" name="candidate" id="addcand">
<input type="hidden" id="token" name="_token" value="{{ csrf_token() }}">
<div>
Name
{!! Form::text('first_name', null, array('placeholder'=>'First Name')) !!}
{!! Form::text('last_name', null, array('placeholder'=>'Last Name')) !!}
</div>

<div id="candimages">
Image
{!! Form::file('image', null) !!}
</div>

<div>
Bio<br/>
{!! Form::textarea('bio', null, array('placeholder'=>'Bio Text')) !!}
</div>

<div>
Q&A<br/>
{!! Form::textarea('qa', null, array('placeholder'=>'Q&A Text')) !!}
</div>

<div>
Additional Info<br/>
{!! Form::textarea('html', null, array('placeholder'=>'Additional Info Text')) !!}
</div>

<div>
Party
{!! Form::select('party', $parties) !!}
</div>

<div>
<!--<button type="button" id="addcandbtn">Add Candidate</button>-->
<button type="submit" id="addcandbtn">Add Candidate</button>
</div>
</form>

<div>
Party
{!! Form::select('party', $parties) !!}
</div>

<div>
<!--<button type="button" id="addcandbtn">Add Candidate</button>-->
<button type="submit" id="addcandbtn">Add Candidate</button>
</div>
</form>

Javascript/jQuery:

$("#addcand").on('submit', function(e){

var dataser = $("#addcand").serialize();
console.log(dataser); // Proves that the serialized form has data

e.preventDefault();

$.ajax( {
url: '/candidateajax/add/',
data: dataser,
type:'POST',
cache:false,
dataType: 'json',
enctype:'multipart/form-data',
success:function(response){
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR.responseText);
}
});
});

Laravel Controller :

public function createCandidateAjax(Request $request)
{
$input = Input::all();
return response()->json($input);
}

我尝试过返回和 vardumping $input 和 $request。他们都是空的。

任何帮助将不胜感激。谢谢!!

最佳答案

好的,谢谢大家的帮助。我发现我的 ajax 请求是作为 GET 请求而不是 POST 请求接收的,即使 Ajax 方法/类型设置为 POST 并且表单操作设置为 POST。当我从 URL 参数中删除尾随的“/”时,它以 POST 形式发送,并且按预期工作。

注意,在对 Laravel 5.1 的 ajax 请求中,我无法解释为什么 Laravel 5.1 不喜欢尾随的“/”,但事实并非如此。

关于jquery - Laravel 5 Controller 不会从 ajax 表单接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com