سؤال
كيف يمكنك العودة تسلسل كائن JSON إلى جانب العميل باستخدام ASP.NET MVC عبر اياكس الاتصال ؟
المحلول
من تحكم يمكنك مجرد عودة JsonResult:
public ActionResult MyAction()
{
... // Populate myObject
return new JsonResult{ Data = myObject };
}
شكل اياكس الاتصال تعتمد على المكتبة التي كنت تستخدم بالطبع.باستخدام مسج سيكون شيئا مثل:
$.getJSON("/controllerName/MyAction", callbackFunction);
حيث callbackFunction
يأخذ المعلمة هو من طلب XHR.
نصائح أخرى
اعتمادا على جملة تفضيلات التالية أيضا يعمل:
public ActionResult MyAction()
{
return Json(new {Data = myObject});
}
هذا هو كتلة صغيرة من التعليمات البرمجية من أجل أن نفهم كيف يمكننا استخدام JsonResults في MVC التحكم.
public JsonResult ASD()
{
string aaa = "Hi There is a sample Json";
return Json(aaa);
}
يمكنك أيضا النظام.ويب.البرنامج النصي.التسلسل;كما أدناه
using System.Web.Script.Serialization;
public ActionResult MyAction(string myParam)
{
return new JavaScriptSerializer().Serialize(myObject);
}
اياكس
$.ajax({
type: 'POST',
url: '@Url.Action("MyAction","MyMethod")',
dataType: 'json',
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "myParam": "your data" }),
success: function(data)
{
console.log(data)
},
error: function (request, status, error) {
}
});
إذا كنت بحاجة إلى إرسال سلمان ردا على الحصول على, سوف تحتاج إلى صراحة السلوك باستخدام JsonRequestBehavior.AllowGet.
public JsonResult Foo()
{
return Json("Secrets", JsonRequestBehavior.AllowGet);
}
لا تنتمي إلى StackOverflow