在 MVC 中以字符串形式返回 JSON 对象 asp.net
本文关键字:JSON 返回 对象 asp net MVC 字符串 | 更新日期: 2023-09-27 18:30:26
我正在尝试从我的视图中执行 ajax 调用,其中我从控制器返回一个 json 对象。 但是,当我尝试这样做时,我得到了对象类型,但没有将值作为字符串。 这是我的代码。
控制器
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
public ActionResult GetPerson()
{
var _model = _person;
return Json(_model, JsonRequestBehavior.AllowGet);
}
static Person _person = new Person()
{
FirstName = "Steve",
LastName = "Johnson",
Age = 27
};
}
视图
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-2.0.3.min.js"></script>
</head>
<body>
<div>
<form>
<fieldset>
<legend>The Person</legend>
<label>Name: </label>
<input />
<label>Age: </label>
</fieldset>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: '/Home/GetPerson',
type: 'GET',
success: function (result) { alert(result);}
});
});
</script>
警告框返回 [对象对象]。 我正在尝试获取"Person"对象的字符串值。
任何帮助将不胜感激。
谢谢!
你没有去从警报中获取数据,你ddet指定你试图提醒的变量
success: function (result) { alert(result.FirstName);}
success: function (result) { alert(result[0].FirstName);}
返回 JSON 结果值时,应在字段名称后面指示索引号
尝试将alert(result);
更改为alert(JSON.stringify(result);
这样,您就可以看到实际返回的 JSON 字符串。