你怎么回序列化JSON对客户的侧使用ASP.NET 视通过阿贾克斯的电话?

有帮助吗?

解决方案

从控制器可以刚刚返回JsonResult:

public ActionResult MyAction()
{
    ... // Populate myObject
    return new JsonResult{ Data = myObject };
}

形式的Ajax呼吁将取决于其库使用的是的,当然。使用jQuery它将是这样的:

$.getJSON("/controllerName/MyAction", callbackFunction);

这里的 callbackFunction 需要一个参数的数据,从把请求。

其他提示

根据你的语法的偏好,下面还要工作:

public ActionResult MyAction()
{
    return Json(new {Data = myObject});
}

这是一小块代码才明白,我们如何可以使用JsonResults在视控制器。

   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) {

    }
});

如果你需要送JSON响应获得,你只需要明确允许的行为,通过使用JsonRequestBehavior.AllowGet.

public JsonResult Foo()
{
    return Json("Secrets", JsonRequestBehavior.AllowGet);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top