ارسال و دریافت اطلاعات به روش JSON
بّسم الله الرحمن الرحیم
آموزش json در mvc
چند نکته در این آموزش مهم است :
اولا یک صفحه HTML یا CSHTML ایجاد کتنید در بالای صفحه jquery را لود کنید
<script src="/Scripts/jquery-1.9.1.js"></script>
بعد کد زیر را در ابتدای body قرار دهید
$(document).ready(function () {
$("#login").click(function () {
$("#message").html("Logging in...");
var data = { "userid": $("#userid").val(),
"password": $("#password").val(),
"rememberme":$("#rememberme").prop("checked") };
$.ajax({
url: "/account/validateuser",
type: "POST",
data: JSON.stringify(data),
dataType: "json",
contentType: "application/json",
success: function (status) {
$("#message").html(status.Message);
if (status.Success)
{
window.location.href = status.TargetURL;
}
},
error: function () {
$("#message").html("Error while authenticating
user credentials!");
}
});
});
});
این کد در واقع دارد اطلاعات دو TextBox با Id های userid و password را به همراه یک چک باکس برای یادآوری اطلاعات کاربری دریافت می کند و به یک اکشن ارسال می کند طبیعتا اکشن ما باید به شکل زیر باشد
[HttpPost]
public JsonResult ValidateUser(string userid, string password,
bool rememberme)
{
هر چیزی که دوست دارید بنویسید
return Json(status);
}
نام تابع به وسیله خط زیر مشخص می شود
url: "/account/validateuser",
type: "POST",
که مقدار قبل از validateuser، اسم کنترلر شما می باشد، نوع متد ارسالی هم POST است که در بالا نیز قبل از نام اکشن نوشته شده است
[HttpPost]
نوع خروجی تابع یا همان اکشن ما باید JSON باشد
public JsonResult ValidateUser
و در نهایت خروجی اکشن نیز باید به صورت زیر باشد
return Json(status);
زیرا ما در صفحه HTML یا CSHTML مقدار دریافتی را به صورت JSON دریافت خواهیم کرد و همچنین خروجی ما با نام status است و در این قسمت ما نیز این مقدار را با همین نام دریافت خواهیم کرد
contentType: "application/json",
success: function (status) {