【问题标题】:error JavaScript critical error ...: Expected ')'错误 JavaScript 严重错误 ...: 应为 ')'
【发布时间】:2023-04-08 13:25:02
【问题描述】:

在 asp.net MVC 中使用 ajax 时出现以下错误,我不知道它有什么问题!

第 161 行第 101 列的 JavaScript 严重错误 http://localhost:50474/Home/Products\n\nSCRIPT1006: 应为 ')'

这是我的观点:

 <p class="text-center"><a class="btn btn-primary" onclick="CreateOrder(@pr.ProId)" role="button">خرید</a>

这是我在控制器中的操作:

 [HttpPost]
        public ActionResult CreateOrder(Guid productId)
        {
            Order or = new Order();
            or.Number = 1;
            or.ProductId = productId;
            or.SessinId = Request.UserHostAddress;
            int proprice = db.Products.Where(c => c.ProId == productId).Select(c => c.Price).FirstOrDefault();
            or.TotalPrice = proprice * 1;
            db.Orders.Add(or);
            db.SaveChanges();
            int count = (db.Orders.Where(c => c.SessinId == or.SessinId).Select(c => 
            c.OrderId)).Count();
            Session["ShopcartCount"]= count;
            db.Dispose();

            return RedirectToAction("Products", "Home");

           }

这里是ajax代码:

   <script>
        function CreateOrder(productId) {
         $.ajax({

             url: "/Home/CreateOrder/" + productId,
             type: "post"
         }).done(function (result) {
             $("#shopcart").html(result);
         });
     }

     $(function () {
         $("#shopcart").load("/Home/ShopCartCount");
     });
    </script>

【问题讨论】:

  • JavaScript 文件的line 161, column 101 处的代码是什么?请也出示一下。
  • 这部分视图:onclick="CreateOrder(@pr.ProId)"
  • 试试这个方法 onclick="CreateOrder(@(pr.ProdId))"
  • 所以你正在传递GUID Javascript 考虑作为字符串对象期望数值传递目录。请检查此&lt;p class="text-center"&gt;&lt;a class="btn btn-primary" onclick="CreateOrder('@pr.ProId')" role="button"&gt;خرید&lt;/a&gt;
  • 在我的演示中,我已经检查过了,然后我告诉你你的代码可能有问题,你能检查一下吗?或者请查看此链接dotnetfiddle.net/h05cci

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


【解决方案1】:

请检查一下是否出现此错误

这里的工作示例第一个按钮您的代码和第二个按钮工作正常。 Click here

查看

<p class="text-center"><a class="btn btn-primary" onclick="CreateOrder('@pr.ProId')" role="button">خرید</a>

【讨论】:

    【解决方案2】:

    就像@jishan siddique 在他的回答中发布的一样,您需要在模型属性'@pr.ProId' 周围使用单引号'@pr.ProId',例如CreateOrder('@pr.ProId)' 而不是CreateOrder(@pr.ProId),以便Razor 视图识别它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 2011-08-05
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多