我一直在尝试使用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调用执行得很好,但它永远不会达到设置在&#34; GetResults&#34;的断点。我看到的http post url是&#34; http:// localhost:30320 / OrchardLocal /&#34; 此外,我得到的响应是整个HTML页面。 提前致谢
答案 0 :(得分:4)
结果后删除控制器:&#34;结果&#34;,不是&#34; ResultsController&#34;。此外,您还需要在该帖子中包含防伪令牌。哦,setInterval是邪恶的。