2015-12-21 38 views
1

m如果這個錯誤太多,但換一換我想用ajax提交表單。當時它轉到錯誤函數獲得響應作爲 「所需的防僞型窗體域‘__RequestVerificationToken’不存在」。Nopcommerce所需的防僞型窗體域「__RequestVerificationToken」是不存在的。」

我已經嘗試了不同的解決方案,在阿賈克斯頭添加此令牌值,與FORMDATA一起發佈,但沒有一次成功。

請注意以下代碼,當點擊註冊模塊中的新帳戶時,將執行以下代碼。

var form = $('#registerForm'); 
       var dataObject = $('#registerForm').serializeObject(); 
       var token = form.find('[name=__RequestVerificationToken]').val(); 
       dataObject["__RequestVerificationToken"] = token; 
       var formData = JSON.stringify(dataObject);// store json string 
       var headers = {}; 
       headers['__RequestVerificationToken'] = token 
       $.ajax({ 
        type: 'POST', 
        url: 'Customer/Register', 
        headers: headers, 
        data: formData, 
        contentType: 'application/json', 
        dataType: "json", 
        success: function (data) { 
         alert("success=" + data); 
        }, 
        error: function (data) { 
         alert("error=" + data); 
        } 
       }); 

已經嘗試了所有的排列,我在計算器或任何nopcommerce博客上發現,但沒有獲得成功。取悅任何人,如果你有解決方案發布此安全令牌沿着模型,也最早回覆。

問候

+0

你可以把你的控制器代碼......所以我們可以evealuate ... –

回答

1

您可以整理FORMDATA和防僞數據令牌如下:

function addAntiForgeryToken(data) { 
//if the object is undefined, create a new one. 
if (!data) { 
    data = {}; 
} 
//add token 
var tokenInput = $('input[name=__RequestVerificationToken]'); 
if (tokenInput.length) { 
    data.__RequestVerificationToken = tokenInput.val(); 
} 
return data; 

};

之前下面的函數第一次調用「$阿賈克斯({」行

addAntiForgeryToken(yourFormData); 
相關問題