Asp.Net MVC3,返回成功的JsonResult
Asp.Net MVC3,返回成功的JsonResult
我需要返回包含成功值(true或false)的JSON数据,同时还需要包含结果消息。
所以我使用字典来保存数据,但是当它返回JSON数据时,它包含了""(引号)。
JsonResult = new Dictionary(); JsonResult.Add("Success", "False"); JsonResult.Add("Message", "Error Message"); return Json(JsonResult);
它返回的是,
{"Success":"False","Message":"Error Message"}
但我需要的是,
{Success:False,Message:"Error Message"} //没有""(引号)
有人知道这个问题吗?
谢谢!
问题的出现原因是返回的JSON格式不正确,解决方法是使用匿名变量来返回正确的JSON格式,并在客户端使用$.getJSON来访问这个数据。
在ASP.NET MVC3中,返回一个成功的JsonResult可以通过以下方式实现:
首先,确保返回的JSON格式是有效的,可以通过jsonlint.com来检查。
然后,在Controller中的Action方法中,使用匿名变量来定义一个包含成功和消息的JSON格式的结果,并将这个结果通过Json方法返回,如下所示:
public ActionResult YourActionMethodName() { var result=new { Success="False", Message="Error Message"}; return Json(result, JsonRequestBehavior.AllowGet); }
在客户端,可以使用$.getJSON方法来访问这个数据,如下所示:
$(function(){ $.getJSON('YourController/YourActionMethodName', function(data) { alert(data.Success); alert(data.Message); }); });
通过这种方式,可以正确地返回一个成功的JsonResult,并在客户端访问这个数据。