我按照这里的说明Problem performing Ajax call from ASP.NET MVC2 app,并阅读了关于JSON。我搜查了很多,但没有找到答案。我使用下面的代码:JSON响应字段未定义
观点:
<script type="text/javascript">
var userName = $("#userName").val();
$.ajax({
type: 'POST',
url: '/Home/PgAJAXTest',
data: {
q: 'Test1',
s: 'Test2'
},
success: function (bbb) {
alert(bbb.Val13);
},
error: function (msg) {
alert("error");
}
});
</script>
ASP.NET MVC控制器代码:
[HttpPost]
public JsonResult PgAJAXTest(string q, string s)
{
var a = Json(new { Val13 = " TEST " });
return a;
}
的问题是,我得到"undefined"
。
如果我改变alert(bbb.Val13);
到alert(bbb);
我得到{"Val13":" TEST "}
我想这事做与控制器没有在JSON预计格式恰好返回JSON。
是的,这解决了它谢谢!但是,我如何获得常规的JSON响应(所以我可以使用bbb.Val13)? – Clangon
您的回复来自http,所以默认结果是一个字符串。你可以像上面那样解析JSON,或者通过设置'datatype:'json''来获取请求,让jQuery为你做。 – nunespascal
@tereško是的,我同意使用'JSON.parse'或'jQuery.parseJSON'更好。更新了我的答案。 – nunespascal