2017-01-17 11 views
0

が、私はこのようになりますAJAX要求を持って設定されます。HTTPステータス403 - 不正または欠落CSRF値が、CSRFトークンが

$.ajax({ 
    headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json' 
     }, 
     'url': defaults.addToCartUrl, 
     'data': JSON.stringify({CSRFToken: Config.CSRFToken,currentUser: currentCustomer, entries: cartItems}), 
     'type': 'POST', 
     'dataType': 'json', 
     beforeSend: function(xhr) { 
      xhr.setRequestHeader('X-CSRFToken', Config.CSRFToken); 
     }, 
     'success': function (data, textStatus, jqXHR) { 

     }, 
     'error': function (jqXHR, exception, m) { 
      console.log('Cannot move products from 
     } 
    }); 

問題は、私は、このHTTPステータス403を得続けることである - 不正か、または存在しませんCSRFの値ではなく、トークンをデータペイロードとリクエストヘッダーのパラメータとして設定しました。

enter image description here

+0

そのヘッダが_really_要求の一部であるかどうかを確認してください... – arkascha

+0

はい、それは要求の一部であります – Jones

答えて

1

はbeforeSendは、 "X-CSRFトークン" にトークンを設定することになっていませんか?多分あなたのヘッダーにajaxSetupを使用しますか?

例:

$.ajaxSetup({ 
    headers: { 
    'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
関連する問題