我按照這裏的說明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