如何使用jQuery在GET请求中传递参数
我应该如何在jQuery Ajax请求中传递查询string值? 我目前这样做,但我敢肯定,有一个更清洁的方式,不需要我手动编码。
$.ajax({ url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress), success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });
我已经看到了查询string参数作为数组传递的例子,但是我看到的这些例子不使用$.ajax()
模型,而是直接到$.get()
。 例如:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
我更喜欢使用$ .ajax()格式,因为这是我习惯的(没有特别好的理由 – 只是个人偏好)。
编辑09/04/2013:
在我的问题被closures后(“太本地化”),我发现一个相关的(相同的)问题 – 与3 upvotes不less(我不好找不到它在第一个地方):
使用jQuery进行POST,如何正确提供'data'参数?
这完美地回答了我的问题,我发现这样做更容易阅读,我不需要在URL或DATA值(这是我发现在bipen的答案中不清楚encodeURIComponent()
手动使用encodeURIComponent()
)。 这是因为data
值是通过$.param()
自动编码的。 为了以防万一这可以为任何人使用,这是我去的例子:
$.ajax({ url: "ajax.aspx?ajaxid=4", data: { "VarA": VarA, "VarB": VarB, "VarC": VarC }, cache: false, type: "POST", success: function(response) { }, error: function(xhr) { } });
使用Ajax的数据选项。 您可以通过ajax中的data
选项将数据对象发送到服务器,以及定义如何发送数据的type
( POST
或GET
)。 默认的types是GET
方法
尝试这个
$.ajax({ url: "ajax.aspx", type: "get", //send it through get method data: { ajaxid: 4, UserID: UserID, EmailAddress: EmailAddress }, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });
你可以通过
$_GET['ajaxid'] //gives 4 $_GET['UserID'] //gives you the sent userid
把你的params在ajax
调用的data
部分。 看文档 。 像这样:
$.ajax({ url: "/TestPage.aspx", data: {"first": "Manu","Last":"Sharma"}, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });
数据属性允许你发送一个string。 在你的服务器端代码,接受它作为一个string参数名称“myVar”,然后你可以parsing出来。
$.ajax({ url: "ajax.aspx", data: [myVar = {id: 4, email: 'emailaddress', myArray: [1, 2, 3]}]; success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });
尝试添加这个:
$.ajax({ url: "ajax.aspx", type:'get', data: {ajaxid:4, UserID: UserID , EmailAddress: encodeURIComponent(EmailAddress)}, dataType: 'json', success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });
取决于预期的数据types,你可以指定html, json, script, xml
您可以使用$.ajax()
,如果您不想直接将参数放入URL中,请使用data:
这被附加到URL
资料来源: http : //api.jquery.com/jQuery.ajax/
ajax方法的数据参数允许您将数据发送到服务器端。在服务器端您可以请求数据。请参阅代码
var id=5; $.ajax({ type: "get", url: "url of server side script", data:{id:id}, success: function(res){ console.log(res); }, error:function(error) { console.log(error); } });
在服务器端使用$ _GETvariables接收它。
$_GET['id'];
在这里你可以得到一个例子 。