【发布时间】:2017-03-27 17:12:49
【问题描述】:
我根据我找到的在线文章在我的 Asp.net MVC 页面中设置了一些 Jquery / Ajax 分页。它适用于第一次分页单击,但随后出现以下错误,并且后续分页尝试将不起作用(并且在控制台中报告相同的错误):
Uncaught SyntaxError : Unexpected token )
我的razor 视图中的Jquery 代码如下:
<script type="text/javascript">
$().ready(function() {
$(".page-number").on("click", function() {
var page = parseInt($(this).html());
$.ajax({
url: '@Url.Action("ProductReview")',
dataType: 'html',
data: {
"id": @Model.Product.ProductID,
"page": page
},
success: function (data) {
$("#review-list").html(data);
}
});
});
});
</script>
这会在我的控制器中调用一个操作,该操作返回一个部分视图 (html),然后 jQuery 代码应该替换我的文档中由 div id 标记的整个部分,所以在我的剃刀视图中我也有:
<div id="review-list">
@{ Html.RenderPartial("_ProductReview", Model.Reviews ); }
</div>
在我的部分视图中,分页链接如下:
@for (int i = 1; i <= Model.Reviews.NumberOfPages; i++)
{
<a class="page-number" href="javascript:void();">@i</a>
}
我无法确定这是否是 jQuery 代码本身的错误,或者返回的内容会导致问题 - 正如我所说的第一次单击分页链接在页面上有效,尽管错误显示在控制台中,并且任何后续点击都不会产生错误。
更新:这似乎可行:
<a class="page-number" style="margin-right:10px;" href="javascript:void(0)">@i</a>
【问题讨论】:
-
您查看返回的内容了吗?当您在控制台中单击它时,错误消息是否指向代码中的某些内容?
-
你得到错误的行号吗?
-
不,它并没有指出我在行号方面的任何东西,这就是我有点难过的原因。返回的是基本的html。
-
刚刚注意到在错误旁边的调试器中它有 VM245:1 - 当我点击它时,它会进入一个新窗口并显示“void();”括号中的红色下划线?
标签: javascript jquery ajax asp.net-mvc razor