2

果樹園コントローラーからデータを返す jquery ajax 関数を取得しようとしましたが、これまでのところ成功していません。コントローラーにブレーク ポイントを設定しましたが、コードがコントローラーに到達しません。ここにJQuery関数があります

<table id="tblResults" class="tablesorter">
    <thead>
       ...
    </thead>
    <tbody>
        @foreach (dynamic item in Result)
        {
          <tr>...</tr>
                }
    </tbody>
</table> 
<input id="__requesttoken" type="hidden" value="@Html.AntiForgeryTokenValueOrchard()" />

@using (Script.Foot())
{
    <script type="text/javascript">
        //<![CDATA[
        $(function () {
            $("#tblResults").tablesorter();
            setInterval(update, 20000);
        });
        function update() {
            $.ajax({
                type: 'POST',
                url: '@Url.Action("GetResults", "ResultsController", new { area = "Orchard.App" })',
                data: { token: $("#__requesttoken").val() },
                success: function (response) {
                    alert(response);
                },
                error: function () {
                    alert('error');
                }
            });
        }
        //]]>
    </script>
}

そして、ResultsController の場合、私はこれを持っています

[OutputCache(Duration = 0)]
public JsonResult GetResults()
{
   var json = DateTime.Now.ToString();
   return Json(json, JsonRequestBehavior.AllowGet);
}

注: Ajax 呼び出しは問題なく実行されますが、"GetResults" に設定されたブレーク ポイントには到達せず、表示される http 投稿 URL は "http://localhost:30320/OrchardLocal/" です。 HTML ページ全体。前もって感謝します

4

1 に答える 1

4

結果の後にコントローラーをドロップ:「ResultsController」ではなく「Results」。また、その投稿に偽造防止トークンを含める必要があります。ああ、setIntervalは悪です。

于 2012-05-24T04:27:47.650 に答える