將 AntiForgeryToken 與 Jquery Ajax 請求一起使用
首先,你建立表單
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
}
行動方法
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Test(FormViewModel formData)
{
// ...
}
指令碼
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
var formData = new FormData($('form')[0]);
$.ajax({
method: "POST",
url: "/demo/test",
data: formData ,
success: function (data) {
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
})
</script>
確保 contentType 未設定為除 application/x-www-form-urlencoded
之外的任何內容,如果未指定,則 Jquery 預設為 application/x-www-form-urlencoded