1

UpdatesController次のシグネチャを持つアクション メソッドがあります。

public JsonResult GetUpdates(DateTime lastUpdate)

私の見解では、メソッドを呼び出す次のコードがあります (現時点では、テスト用のボタンの onclick イベントにあり、ボタンの ID は clickme です)。

$(document).ready(function(){
    $("#clickme").click(function(){
        alert("Before");
        $.getJSON("http://localhost/Updates/GetUpdates", "04/05/2011 11:44:37", function(data){ alert(data); });
        alert("After");
    });
});

クリック イベントが発生し、BeforeアラートAfterの両方が発生しますが、json データでアラートが発生しないため、データが返されません。メソッドにブレークポイントも設定しましたがGetUpdates、ブレークポイントがヒットしません。これは、リクエストが送信されていないことを示していると思いますか?

パラメータに問題がある可能性はありますか?

ありがとう

アップデート

そのため、最終的にVisual Studioでステップスルーするようになり、アクションメソッドはエラーなしで実行されました. ただし、アラートは表示されず、Firebug の [ネット] タブを見ると、この特定のリクエストに対して 500 エラーが表示されますか?

4

1 に答える 1

1

これを行うために変更してみてください:

$.getJSON("http://localhost/Updates/GetUpdates", { lastUpdate: "04/05/2011 11:44:37" }, function(data){ alert(data); });

一致するルートがない可能性があるため、正しいアクションが見つからない可能性があります。

フィドラーを実行し、応答が何であるかを確認することは、私が試みる次のステップになるでしょう

編集:

また、MVC 2を使用している場合は、Json呼び出しにパラメーターとしてJsonRequestBehavior.AllowGetが含まれていることを確認してください。

return Json(obj, JsonRequestBehavior.AllowGet);
于 2011-05-05T13:20:26.147 に答える