我应该如何在jQuery Ajax请求中传递查询字符串值?我目前按照以下方式执行它们,但我确信有一种更简洁的方法,不需要我手动编码。
$.ajax({
url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress),
success: function(response) {
//Do Something
},
error: function(xhr) {
//Do Something to handle error
}
});
我已经看到了查询字符串参数作为数组传递的示例,但是我见过的这些示例不使用该$.ajax()模型,而是直接进入$.get()。例如:
$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );
我更喜欢使用$ .ajax()格式,因为它是我习惯的(没有特别好的理由 - 仅仅是个人偏好)。
编辑09/04/2013:
在我的问题被关闭后(作为“Too Localized”),我发现了一个相关的(完全相同的)问题 - 3个upvotes no-less(我不喜欢首先找到它):
使用jquery进行POST,如何正确提供'data'参数?
这完全回答了我的问题,我发现这样做更容易阅读,我不需要encodeURIComponent()在URL或DATA值中手动使用(这是我在bipen的答案中发现的不清楚)。这是因为该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) {
}
});
互换的青春
繁星淼淼
森栏