如何在jQueryAjax请求中传递查询字符串值?我目前这样做,但我相信有一个更干净的方式,不需要我手动编码。
$.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:
在我的问题解决后(因为“过于本地化”),我发现了一个类似的问题:
如何使用jQuery来发布文章,如何正确地提供“数据”参数?
这完美地回答了我的问题,我发现这样做更容易阅读,而且我不需要在URL或数据值中手动使用 encodeURIComponent() (这是我在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) {
}
});