2017-04-17 37 views
0

我目前支持project.In代碼的一些地方,Ajax調用會像下面將數據發送到服務器的URL中的jQuery的Ajax方法編碼

var myObj = [ 
 
    { name: "first", value: "Rick" }, 
 
    { name: "last", value: "Astley" }, 
 
    { name: "job", value: "Rock Star" } 
 
]; 
 

 
$.ajax({ 
 
    type:"GET", 
 
    url:"https://example.com", 
 
    contentType:"application/json", 
 
    data:myObj, 
 
    success:function(data){ 
 
     console.log(data) 
 
    } 
 
});

但在其他一些地方的Ajax調用會像下面

$.ajax({ 
 
    type:"GET", 
 
    url:"https://example.com"+"?"+$.param(myObj); 
 
    contentType:"application/json", 
 
    data:{}, 
 
    success:function(data){ 
 

 
    } 
 
});

在上面的代碼中,不是使用數據屬性 將數據發送到服務器,而是使用$ .param(myObj)將數據與url一起發送。這些方法之間的區別是什麼?理由使用這些方法之一

+1

有沒有太大的區別,但抓住的是,數據參數是首選這就是爲什麼他們提供給你,也就是你的代碼變得乾淨,更具可讀性,我想當你使用數據參數時,jquery會爲你處理它 – razzbee

+0

您無法使用「GET」方法發送json數據,您必須在url中傳遞數據或將「GET」方法更改爲「POST」 –

回答

0

第一種是通過在ajax函數的數據鍵中寫入參數來傳遞數據,第二種是通過在url中寫入參數來傳遞數據。 兩者都是GET請求,傳遞數據的方式有點不同。 在這兩種情況下,數據將最終通過
?&first=Rick&last=Astley&job=Rock+Star

0

GET請求獲取數據並將其編碼到URL中,因此它們本質上是相同的。值得注意的是,雖然GET請求中的數據可以通過兩種方式傳遞,但POST請求通過HTML請求的消息正文傳遞數據,而不是URL。因此,我認爲第一種是更好的做法,因爲它適用於兩種請求類型。

相關問題