我应该如何在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:
在我的问题结束(如“太本地化”)之后,我发现了一个相关的(相同的)问题-至少有3票赞成(我很遗憾没有首先找到它):
这完美地回答了我的问题,我发现以这种方式进行操作更容易阅读,而且不需要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) {
    }
});