2016-07-05 8 views
1

laravelフォームを使用していないため、すべてのAJAX Postリクエストでlaravelトークンを取得しようとしているため、トークンは自動的には取得されません。AJAXポストコールごとにLaravel 5.2トークンを取得するには?

HTMLのBODY:

<input type="hidden" id="_token" name="_token" value="{!! csrf_token() !!}"> 

マイコード:

function ajax_Call() { 
    var formdata = $("form").serializeArray(); 
    token = $('#_token').val(); 
    $.ajax({ 
     url: 'url', 
     type: 'POST', 
     token: token; 
     data: formdata, 
     success: function (r) { 
     } 
    }); 
} 

しかし、そのworking.Please私を助けていません。 FORMDATA代わりにAJAXパラメータに

答えて

0

追加トークンは:

function ajax_Call() { 
    var formdata = $("form").serializeArray(); 
    formdata.append("_token", $('#_token').val()); 
    $.ajax({ 
     url: 'url', 
     type: 'POST', 
     data: formdata, 
     success: function (r) { 
     } 
    }); 
} 

もヘッダをトークンを送信します:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-Token': $('#_token').val() 
    } 
}); 
+0

ありがとうございます –

0

は、あなたのアヤックスに以下のヘッダを追加します

headers: {'X-CSRF-TOKEN': $('#_token').val();} 
0

ajaxPrefiを試すLTER、あなたの各Ajaxのrequstにトークンを含める:あなたの各要求で

var t = $('#token').val(); 

 $.ajaxPrefilter(function(options, originalOptions, xhr) { // this will run before each request 
    var t = $('input[name="_token"]').val(); // or _token, whichever you are using 
    if (t) { 
     return xhr.setRequestHeader('X-CSRF-TOKEN', t); // adds directly to the XmlHttpRequest Object 
    } 
}); 

を今、あなたは追加する必要がありません。私はこれが役立つことを願っています

関連する問題