ajax提交后,更新javascript中的所有url总密钥

update all urls total key from javascript after ajax submit

本文关键字:url 密钥 提交 更新 javascript ajax      更新时间:2023-09-26

购物车包含带有总密钥的URL,如

 Cart value is <span id="cart-status" >1805.32</span>

    <ul>
    <li><a href='/Store/Category/Products?user=ADMIN&total=1805.32'>product1</a></li>
    <li><a href='/Store/Category/Products?user=ADMIN&total=1805.32'>product2</a></li>
    <li><a href='/Store/Category/Products?user=ADMIN&total=1805.32'>product3</a></li>
    </ul>

为了在浏览器购物车中进行正确的缓存,当前值总计=1805.32被添加到每个url。

它还包含添加到购物车表单,whixh使用ajax并且不刷新页面:

    <form class='tdBorder js-addtocart-form' method="post">
     <span>
    <input type='hidden' name="product" value="CAR2" />
    <input class='amount' name="quantity" type="number" value="1" />
    </span>
    <input type="submit" value="Add to cart" class='btn btn-xs btn-success' />
    </form>
    
    
    <script>
        var request;
        $(function () {
            $(".js-addtocart-form").submit(function (event) {
                if (request) {
                    request.abort();
                }
                var $form = $(this);
                var $inputs = $form.find("input, select, button, textarea");
                var serializedData = $form.serialize();
                request = $.post('@Url.Action("AddToCart", "Store")',
                    serializedData, function (response) {
                    $("#cart-status").text(response.Total);
                        var xx = $form[0].quantity;
                      .always(function () {
                          $inputs.prop("disabled", false);
                      });
                return false;
            });
        });

页面中的购物车值使用在Store/AddToCart结果中更新

$("#cart-status").text(response.Total)

如何使用响应更新元素总密钥。第页总计?

Bootstrap 3、jquery、ASP.NET MVC4都使用

您在网页上存储的任何信息都是不可靠的,您不应该信任它。我希望您只是将其用于网页上的某种缓存,如果您的服务器也在使用来自此链接的总值,那么停止,您错了
对于您的回答,您可以通过以下代码修改总参数:

function updateLink(val){
   $("link selector").each(function(i,v){
      var href = $(v).attr("href");
      if(href){
          href = href.replace(/total=[^&]+/,"total="+val);
          $(v).attr("href", href);
      }
   });
}

你需要修改link selector并给它一些选择器,这样它就可以选择所有这样的链接,并用新的总值调用这个方法。