2017-10-07 57 views
0

我想從數據庫中檢索項目並動態地在列表中顯示它們。但是每當我把物體拿回來時,物品就眨了一下就消失了。我相信服務器運行良好,返回的json對象格式正確。jQuery對象不能在頁面上不斷顯示

let amount = 0; 
 
     $(document).ready(function() { 
 
      $("#addItem").click(() => { 
 
       let productID = $("input[name='productID']").val(); 
 
       let count = $("input[name='IDQty']").val().toString(); 
 

 
       console.log(productID, count); 
 

 
       let query = '?'; 
 
       if (productID) { 
 
        query += 'productID=' + productID + "&"; 
 
       } 
 
       if (count) { 
 
        query += 'IDQty=' + count; 
 
       } 
 

 
       let url = "http://localhost:3000/api/" + query; 
 

 
       $.getJSON(url, (result) => { 
 
        console.log(result); 
 
        $("ul").append("<li>" + result.name + " " + result.price.toString() + " " + result.count + "</li>");    
 
       }); 
 
      }); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
     <form> 
 
      ID: <input name="productID"> 
 
      Qty: <input name="IDQty" type="number" style="width:60px" value="1" min="1"> 
 
      
 
      <input type="submit" value="Add" id="addItem"> 
 
     </form>  
 
<ul id="receiptContent"></ul>

結果顯示在控制檯是正確的,該項目在瀏覽器中的第二個做表演。我想這是一個重定向的問題,或者我通過url到.getJSON的方式是不正確的。任何提示?非常感謝。

+2

是的,你提交表格。前往**返回false; **點擊事件或表單提交事件。所以,在$ .getJSON()'或$('form')。之後('submit',function(e){e.preventDefault();})' – skobaljic

+0

非常感謝,我從來不知道提交表單還會返回除響應數據之外的內容。 –

+0

就你而言,它只是重新加載頁面。你根本不需要'

'元素(比你不需要額外的腳本)。 – skobaljic

回答

0

變化形式標記

<form onsubmit="javascript:return false"> 

或更改按鈕標籤屬性「類型」值從「提交」到「按鈕」

0

改變形式的行動給JavaScript:無效(0),將做的工作

<form action="JavaScript: void(0)"> 

或者

<form action="#">