当前位置: 首页 > 面试题库 >

如何使用jQuery在GET请求中传递参数

甄永年
2023-03-14
问题内容

我应该如何在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) {

    }
});

问题答案:

使用ajax的data选项。您可以通过dataajax中的选项将数据对象发送到服务器,并且type定义了如何发送数据对象(POSTGET)。默认类型为GETmethod

尝试这个

$.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
  }
});

您可以通过以下方式获取数据(如果您使用的是PHP)

 $_GET['ajaxid'] //gives 4
 $_GET['UserID'] //gives you the sent userid

我相信在aspx中(可能是错误的)

 Request.QueryString["ajaxid"].ToString();


 类似资料:
  • 我应该如何在jQuery Ajax请求中传递查询字符串值?我目前是这样做的,但我肯定有一个更干净的方法,不需要我手动编码。 我见过查询字符串参数作为数组传递的示例,但这些示例没有使用模型,而是直接使用。例如: 我更喜欢使用$.ajax()格式,因为这是我习惯的格式(没有特别好的理由--只是个人偏好)。 编辑09/04/2013: 在我的问题结束后(因为“太本地化”),我发现了一个相关的(相同的)问

  • 我正在使用SoundCloud api创建一个应用程序,并尝试附加用户输入的字符串值,但它在界面中显示为null,我如何在url中附加该值? MainActivity.java SCService.java 搜索的字符串在我的SoundCloud.java类 我想在GET参数中附加那个SCURL字符串,但它显示了SCURL的null值,我如何实现这一点? 更新:我如上所述更改了代码,但出现了此错误

  • 问题内容: 我正在尝试使用jQuery在AJAX GET中传递请求标头。在下面的块中,“数据”自动传递查询字符串中的值。有没有办法在请求标头中传递该数据? 以下内容也不起作用 问题答案: 用途: http://api.jquery.com/jQuery.ajax/ http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader- method

  • 我在API中传递一个数组作为get请求的参数。我想把这个数组作为查询参数传递给HTTP请求者。 param1和param2通过流变量捕获,并与HTTP请求程序一起发送 对param3使用flow变量可以用其他内容覆盖中断

  • 我在一个资源上创建了一个GET方法,链接到一个Lambda函数,我正在尝试传递一些查询参数。 我希望传递给lambda变量