1

jquery 1.5.2でasp.net mvc2を使用しています。私がふりをするのは、json データを返すコントローラーの特定のメソッドをクライアント側で呼び出すことです。

実際、サーバーへのクライアント側の呼び出しは機能していますが、問題は jquery が返された json を認識しないことです。

私は何が間違っているのか理解できません!, 誰かがこれを手伝ってくれますか?

コントローラーの方法:

<HttpPost()> _
Function DoStuff(ByVal id As Integer) As JsonResult
    Dim retval As JsonResult = Nothing

    retval = Json(New xpto With {.P1 = "P1Value"})

    Return retval
End Function

JQuery Ajax 呼び出し:

    $.ajax({
        url: "/DoStuff/5",
        type: "POST",
        dataType: "json",
        async: false,
        success: function(data, textStatus, jqXHR) {
            alert(textStatus);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            alert(textStatus);
        }
    });

Handles Error メソッドの値:

errorThrown: jQuery1520029581770420782693_1303980789842 は呼び出されませんでした

textStatus: パーサー エラー

jqXHR.responseText = "{"P1":"P1Value"}"

4

1 に答える 1

0

問題はそのコードにはありませんでした。それは正常に動作しています。問題は、マークアップの Sctipt タグの順序によって生成されます (検証)

違う:

<script src="/Scripts/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>

右:

<script src="/Scripts/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
于 2011-05-01T09:21:33.940 に答える