مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل در برگرداندن نتیجه Action به ajax

شنبه, 10 خرداد 1399 21:35

مشکل در برگرداندن نتیجه Action به ajax

سلام من تو برگشت نتیجه action به ajax مشل دارم هرکاری میکنم fail میشه

asp core  هست تو startup هم همه چی گذاشتم نشد


            services.AddControllers().AddNewtonsoftJson();
            services.AddControllersWithViews().AddNewtonsoftJson();
            services.AddRazorPages().AddNewtonsoftJson();

یکشنبه, 11 خرداد 1399 18:23

سلام، بالای CreateUser شما از صفت Validate anti forgery token  استفاده شده، در این حالت شما میبایست token مربوطه را جهت اعتبار سنجی درخواست ارسال کنید.

به صورت خودکار داخل تگ های form یک input با نام RequestVerificationToken__  ایجاد و در هر درخواست مقدار(value) جهت اعتبار سنجی درخواست(جلوگیری از ارسال درخواست های جعلی) به سمت controller ارسال میشود.

در حالت عادی هنگام submit شدن فرم این مقدار به سمت action مورد نظر ارسال و درصورت وجود صفت Validate anti forgery token مقدار اعتبار سنجی وسپس دستورات داخل action اجرا میشود.

جهت ارسال درخواست به صورت ajax  و اعتبار سنجی درخواست میبایست مقدار RequestVerificationToken__ در header درخواست ارسال شود.

 

ارسال درخواست به صورت ajax:


<script>
	var token = $('input[name="__RequestVerificationToken"]').val();

	var headers = {};
	headers['__RequestVerificationToken'] = token;
	 
	$('#btnCreateUser').click(function (){
		$.ajax({
			url: '/account/createUser',
			type: 'POST',
			headers: headers,
			data: $('form').serialize(),
			success: function () {		
			  alert('Successfully');
			},	
			error: function () {		
			  alert('Error');
			}	
		{);
	});
</script>

کسانی که از این پست تشکر کرده اند : alirezaja2019,
دوشنبه, 12 خرداد 1399 23:09

ممنون از راهنماییت و این که وقت گذاشتی فقط من الان مشکلم اینه نتیجه تو بانک ثبت میشه همه چی سمت سرور خوبه فقط نتیجرو نمیتونم بگیرم که به کاربر مثلا بگم ثبت موفقیت آمیز بود ی نبود

همش fail میشه و خطا میده

ﺳﻪ شنبه, 13 خرداد 1399 08:21

احتمالا شما success را مقدار دهی نکردید.

return Json(new { success = true, message = "Create user successful" });

ارسال پاسخ برای این تاپیک