مشکل Post به Web API در Web App Core
با سلام
در حالت GET مشکلی در اتصال به Web API وجود نداره اما در حالت Post ارور 400 میگیرم
@page
@using DevExtremeAspNetCoreApp1.Models
@Html.AntiForgeryToken()
$.ajax({
type: "POST",
url: 'api/editoropen',
data: {'guid':'wr'}
contentType: "application/json",
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
success: function (data) {
alert('post successs');
},done:function (response) {
alert('ok');
},
dataType: 'json',
});
در Program.cs هم این کد ها رو زدم اما جوابی نگرفتم
builder.Services
.AddRazorPages().AddRazorPagesOptions(o =>
{
o.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
builder.Services.AddAntiforgery(o => o.HeaderName = "XSRF-TOKEN");
نقل قول: مشکل Post به Web API در Web App Core
سلام
با توجه به اینکه در program نام کوکی را XSRF-TOKEN تعریف کردید بنابراین در زمان ارسال هم باید در خط 12 از دستورات Ajax بجای RequestVerificationToken از XSRF-TOKEN استفاده کنید.
headers: { "XSRF-TOKEN": $('input[name="__RequestVerificationToken"]').val() },
امتحان کنید ببینید مشکل حل میشه
نقل قول: مشکل Post به Web API در Web App Core
این مورد هم جواب نداد
من دو پروژه در یک سلوشن درست کردم یکی Web API و دیگری RazorPages
در RazorPages پروژه Web API رو رفرنس کردم
و در یک صفحه RazorPages از طریق Ajax به کنتروار وصل شدم برای GET هیچ مشکلی وجود نداره
اما برای عمل Post وقتی داده می فرستم ارور 400 میده بدین معنی که فراخوانی Web API پارامترهای ورودی را ندارد !
و این یک مشکل است نهایتا مجبور شدم داده را از طریق QueryString به همراه URL بفرستم.
آیا راهی به نظرتون میرسه ؟
نقل قول: مشکل Post به Web API در Web App Core
سلام ، آدرس دهی رو بررسی کردید اگر ارور ۴۰۰ میده مربوط به آدرس دهی هست یه breakpoint بزارید ببنید وارد متد میشه یا نه