【问题标题】:Jquery Ajax Uncaught SyntaxError : Unepected Token )Jquery Ajax Uncaught SyntaxError: Unexpected Token)
【发布时间】: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


【解决方案1】:

这解决了它:

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

【讨论】:

  • 您可以选择自己的答案作为正确答案,这将帮助其他有相同问题的人。
猜你喜欢
  • 2016-10-30
  • 1970-01-01
  • 2012-12-12
  • 2015-01-29
  • 2011-04-02
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 2016-04-06
相关资源
最近更新 更多