Jquery Ajax Uncaught SyntaxError:Unepected Token)

时间:2017-03-27 17:12:50

标签: javascript jquery ajax asp.net-mvc razor

我根据我发现的在线文章在我的Asp.net MVC页面中设置了一些Jquery / Ajax分页。它适用于第一次分页点击,但后来我得到以下错误,没有后续的分页尝试将起作用(并在控制台中报告相同的错误):

Uncaught SyntaxError:意外的令牌)

我的剃刀视图中的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>

1 个答案:

答案 0 :(得分:0)

这解决了它:

<a class="page-number" href="javascript:void(0)">@i</a>