一个页面上有两个表单,使用ajax提交功能,Laravel中缺少_token

时间:2017-04-03 08:35:54

标签: php jquery ajax forms laravel

我在一个页面上有两种不同的形式。一个接受注册号,用ajax显示用户信息。

另一个用另外的数据将信息保存在另一个表中。现在的问题是两种形式都有相同的_token值。所以一旦提交了ajax表单,就会使用_token,所以当我保存其他表单时,我得到了_token错误。

我对两种表单使用 Form :: open() Form :: close()

我该怎么办?

这是我的jQuery代码:

$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('[name="_token"]').val()
        }
});

$('#payment_schedule').change(function(event) {
    var planId = $(this).val();
    $.ajax({
        url: '{{ URL::to('/PlanInfo') }}',
        type: 'POST',
        dataType: 'JSON',
        data: {'paymentSchedule': planId},
        success: function(result){
            console.log("data = "+ result);
        },
        error: function(xhr, status,response){
            $('#data').html(xhr.responseText);
        }
    });

});
 var inputs = $('#data input, #data select').attr('disabled','disabled');
$('#paymentForm').submit(function(event){
    event.preventDefault();
    var url = '{{ URL::to('/memberInfo') }}';
    var reg_no = $('#registration_no').val();
    $.ajax({
        url: url,
        type: 'POST',
        dataType: 'JSON',
        data: {'registration_no': reg_no},
        success: function(result){
            console.log('Ok'); //working fine
        },
        error: function(xhr, status, response){
            console.log(response);
        }
    });
});

Selecting Payment Plan

关于更改付款计划收到此错误

On Changing Payment Plan Receiving this error

1 个答案:

答案 0 :(得分:0)

创建另一个名为form2的视图,然后在第一个视图中创建一个包含@yield(' form2')的部分,并使用@section(' form2')调用form2并关闭它与@endsection一样,就像这样 把它放在第一个视图中

<form>
token1{{ csrf_field() }}
bla bla bla
bla bla bla
</form>
@yield('form2')

在第二个视图中放置另一个这样的形式

@section('form2')
<form>
token2{{ csrf_field() }}
blablabla
</form>
@endsection