2016-11-09 74 views
0

我是AJAX新手。通過Ajax調用傳遞ID的最佳方法是什麼?

傳遞ID以更新產品時。對此的任何解釋。先謝謝你。

$.ajax({ 
    type: 'post', 
    url: 'my_controller/update_product_exe/' + id, //This line 
    dataType: 'json' 
}); 

這個...

$.ajax({ 
    type:'post', 
    url: 'my_controller/update_product_exe', 
    dataType: 'json', 
    data: {id: id} // this line 
}); 
+3

**的**第二,你會得到$ _ POST數據,**的**首先,你將獲得ID在CI – devpro

+0

數據段中:{id:id}這意味着您要將數據傳遞給API – Jigar7521

+0

啊。哪個更好用,第一個到第二個? – Marky

回答

2

如果你只是想了解一下這兩個比Ajax請求的區別是:在第一個請求

,你沒有在ajax請求中傳遞數據,而是在CI控制器的URL中發送一個ID,您將通過使用URL Segments獲取此ID。

在第二個請求,您發送的Ajax請求的數據,所以你可以通過使用$_POST

現在,哪一個是更好地得到在控制器中的數據,均具有有差別,當你需要使用ajax傳遞一些輸入值,而不是選擇第二個。您可以在此請求中發送多個數據。

您也可以使用第二個請求來實現第一個請求目標,在這種情況下,您可以將該ID傳遞給ajax數據。您可以發送多個數據,但您必須獲取segement網址。

+0

我想問一下,哪個更好? – Marky

+0

@Marky:對,檢查更新 – devpro

+0

@Marky:最好的意義在於?什麼? – devpro

1

區別在於url本身。將id附加到第一個url將改變它,因此將請求發送到該特定的url。但是,它不會在請求期間發送任何數據。例如:

// let's say id = "1234" 
$.ajax({ 
    type: 'post', 
    url: 'my_controller/update_product_exe/' + id, // This will be 'my_controller/update_product_exe/1234' 
    dataType: 'json' 
}); 

而對於第二個:

$.ajax({ 
    type:'post', 
    url: 'my_controller/update_product_exe', 
    dataType: 'json', 
    data: {id: id} // This will be {id: "1234"} 
}); 

在第二個,要傳遞的數據;在第一個,你只是通過附加一些字符串來修改你的url

+0

哪一個是最好的AJAX語法? – Marky

+0

是的,你也是對的:)我的投票權 – devpro

1

從概念上講,您在第一個示例中使用GET,在第二個示例中使用POST。 HTTP verbs有意義,POST意味着將信息發送到服務器。即使你可以通過使用GET來獲得id,這也不會使它在語義上是正確的。目前,你只有一個大小有限的ID,並且只有一個參數,但即使在一個小應用程序中,通常也會向服務器發送幾個參數和一些數據。 GET參數的大小有限,POST更適合於此。

由於所有這些原因,使用POST的第二個版本是正確的。

以下是GET和POST之間差異的一些額外資源。

http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post

http://www.diffen.com/difference/GET-vs-POST-HTTP-Requests

What is the difference between POST and GET?

When should I use GET or POST method? What's the difference between them?

相關問題