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 post url 是“http://localhost:30320/OrchardLocal/”另外,我得到的响应是整个 HTML 页面。提前致谢

4

1 回答 1

4

结果后删除控制器:“结果”,而不是“结果控制器”。此外,您需要在该帖子中包含防伪令牌。哦,setInterval 是邪恶的。

于 2012-05-24T04:27:47.650 回答