我是新来的Stackoverflow和Laravel 4,
我试图通过jquery ajax提交表单.我serializeArray()的形式,并使用json提交它.
在laravel中,在路线中我查看提交的csrf令牌,请转到我的控制器进行过程输入.
当_token输入与serializeArray()一样在数组中时,csrf检查不起作用.
我必须得到_token值,并提交作为一个单独的ajax数据.我想知道有没有办法告诉csrf过滤器哪里运行检查hte字段_token的输入数组,并使用它?
这是我的代码:
我试图通过jquery ajax提交表单.我serializeArray()的形式,并使用json提交它.
在laravel中,在路线中我查看提交的csrf令牌,请转到我的控制器进行过程输入.
当_token输入与serializeArray()一样在数组中时,csrf检查不起作用.
我必须得到_token值,并提交作为一个单独的ajax数据.我想知道有没有办法告诉csrf过滤器哪里运行检查hte字段_token的输入数组,并使用它?
这是我的代码:
Route::post('searchAjax',array('before' => 'csrf','uses' => 'SearchController@searchAjax'));
这是我不能读取数组形式[0] [‘_ token]的地方,但我不知道如何告诉它.
index.js var form = $('#search').serializeArray(); var token = $('#search > input[name="_token"]').val(); $.ajax({ type: 'post',url: 'searchAjax',dataType: 'json',data: { _token: token,form: form },success: function(data) { for(var key in data) { //alert(key) } //alert(data.message); } });
我想在ajax调用中摆脱{_token:token,form:form},只有“form”就是已经有_token的数组.
这里是html:
<form id="search" class="form-horizontal" accept-charset="UTF-8" action="http://testing:998/search" method="POST"> <input type="hidden" value="6GBbv9LmnOdL8UcOsm8DDJ4Bfi6eGcQRlC9SPdL4" name="_token"> <div class="control-group"> <label class="control-label" for="title">Book Titles</label> <div class="controls"> <input id="title" class="input" type="text" value="click to search book titles" name="title"> </div> </div> <div class="control-group"> <div class="control-group"> <div class="control-group"> </form>
先谢谢你. 原文链接:https://www.f2er.com/jquery/180502.html