سؤال

كيف يمكنك العودة تسلسل كائن 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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top