0

バックグラウンドでデータを取得するために JSON リクエストを作成しようとしました。同僚の 1 人を例として取り上げました。最初の結果/方法は私の同僚で、もう 1 つは私のものです。問題は、メソッドが呼び出されず、アラートも表示されないことです。

大きな違いは見られません。助けてください:

ASPX:

<script language="javascript" type="text/javascript">    
    function UpdateSettings() {
        var result = $.getJSON('GetProgressMessage?uploaderId=111&iId=1&fileName=test', function (data) { alert(data); }, 'json');
        var result2 = $.getJSON('GetCustomerUploadSettings?customerId=1', function (data) { alert(data.Name); }, 'json'); 
        alert('test');
    }
</script>

最初の方法:

[NoCache]  
public ActionResult GetProgressMessage(string uploaderId, short iId, string fileName)  
{  
    //some stuff before   
    return this.Json(messageObject, JsonRequestBehavior.AllowGet);  
}  

2 番目の方法:

[NoCache]
public ActionResult GetCustomerUploadSettings(int customerId)
{
    return this.Json(new { Name = "test" }, JsonRequestBehavior.AllowGet);
}

もちろん、両方のメソッドは同じクラスにあります。

4

3 に答える 3

0

ブラウザで開発ツールを開いて、詳細を表示できます。Firefox の場合 - Firebug。Chrome と IE には独自のツールがあります。F12 を押してページをリロードします。

于 2012-09-13T13:08:33.920 に答える
0

ルーティングが機能していない可能性があります。Global.asax.cs ファイルを調べて、同僚がメソッドに到達するためのカスタム ルートを作成したかどうかを確認しましたか?

于 2012-09-13T13:15:09.543 に答える
0

コントローラークラスでこれを試してください

public JsonResult YourMethodName()
{
    JsonResult json = new JsonResult();
    json.Data = new { OBJECT_TO_RETURN };
    return Json(json, JsonRequestBehavior.AllowGet);
}
于 2012-09-13T13:01:51.980 に答える