داده هایی که میخواید از طریق FormData ارسال کنید را بیان کنید. میخواهید این داده ها را با استفاده از Ajax ارسال کنید ؟
خیر با استفاده نکردن از Anti Forgery Token دچار حمله CSRF می شوید، زمانی که بخوایم به صورت Ajax داده ها را ارسال کنیم token مورد نظر ارسال نمی شود و باید به صورت دستی عمل کنیم.
var form = $('#CreateProfileForm'); var token = $('input[name="__RequestVerificationToken"]', form).val(); var fileData = $("#Image").prop("files")[0]; var fd = new FormData(); fd.append("__RequestVerificationToken", token); fd.append("image", fileData); $.ajax({ url: '@postUrl', method: "POST", contentType: false, processData: false, data: fd }) .done(function () { window.location = "/"; });
[HttpPost, ValidateAntiForgeryToken] public virtual async Task<ActionResult> CreatePrfile(MyModel viewModel ) {}
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)