javascript
  • jquery
  • ajax
  • asp.net-mvc-4
  • ajaxform
  • 2016-01-06 53 views 0 likes 
    0

    購物車中有總鑰匙網址像更新所有URL共有來自JavaScript的關鍵阿賈克斯後提交

    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加入到每個網址。

    它還包含添加到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; 
     
          }); 
     
         });

    車值在商店/ AddToCart結果更新

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

    如何用頁面中的response.Total更新元素總鍵?

    引導3,jQuery的,ASP.NET MVC4使用

    回答

    1

    你存儲一個網頁上的所有信息是不可靠的,你不應該相信它。我希望你只是在網頁上的某種緩存中使用它,如果你的服務器也在使用來自這個鏈接的總值,那麼停止,你做錯了。
    對於你回答,你可以通過這個代碼修改總參數:

    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並給它一些選擇,以便它可以選擇所有這些環節,調用此方法與新的總價值。

    +0

    謝謝。有效。總數=用於緩存。如果它被刪除,瀏覽器會在頁面中顯示舊購物車值,因爲它從緩存中讀取。如果可以使用這種緩存或有更好的解決方案嗎?我使用了一個鏈接選擇器:'$(「a」)'是這樣嗎? – Andrus

    +0

    您可以將其存儲在Cookie中,並將其用於所有頁面進行渲染。但是,出於安全原因,在執行任何敏感操作之前,您還需要在服務器端存儲/計算該信息。這樣想:如果我通過javascript的幫助改變了總數= 1,我能夠購買1件購物車物品嗎? – Sachin

    +0

    我不認爲$(「a」)應該是個好主意。你的頁面上可能會有更多的錨定標記,如果不是,那麼明天可能會有,你可以添加一些類到這樣的鏈接 – Sachin

    相關問題