2016-11-09 189 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?

相关问题