1

ASP.NET MVC2 app から Ajax 呼び出しを実行する問題 の指示に従い、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を正確に返さないコントローラーと関係があると思います。

4

3 に答える 3

3

文字列の応答を取得しています。

次のようなものを使用します

success: function (bbb) {
    var response  = jQuery.parseJSON(bbb);
    alert(response.Val13);
}

jQueryを使用jQuery.parseJSONしているため、文字列の解析に使用できます。

于 2012-10-18T08:29:54.123 に答える
1

datatype: 'json'JQuery AJAX リクエストに追加する必要があります。

試す:

<script type="text/javascript">
var userName = $("#userName").val();

$.ajax({
    type: 'POST',
    datatype: 'json',
    url: '/Home/PgAJAXTest',
    data: {
        q: 'Test1',
        s: 'Test2'
    },
    success: function (bbb) {
        alert(bbb.Val13);
    },
    error: function (msg) {
        alert("error");
    }
});

</script>
于 2012-10-18T08:28:44.047 に答える
0

これを試して

[HttpPost]
    public JsonResult PgAJAXTest(string q, string s)
    {
        return Json(new { Val13 = " TEST " }); 
    }
于 2012-10-18T08:27:43.390 に答える