将查询字符串添加到Ajax url调用

时间:2012-05-11 03:06:38

标签: jquery ajax url

我想知道当我们调用Jquery Ajax时,可以将查询字符串与URL一起传递;

示例:

    $.ajax({
           type: "POST",
           url: "index.php?task=addNewInfo",
           data: $('#regForm').serialize(),
           dataType: "json",
              .....
      });  

来自param任务的查询字符串也能正常工作吗?或者我们需要以另一种方式做到这一点? 谢谢。

3 个答案:

答案 0 :(得分:8)

在数据参数

中发送任务
data:"task=addNewInfo&" + $('#regForm').serialize()

这是使用POST方法。 如果你想使用GET方法,那么Arun的解决方案将正常工作。

答案 1 :(得分:3)

我认为以下内容可以正常使用

url : "index.php?task=addNewInfo&" + $('#regForm').serialize()

但是为什么要将表单值作为查询参数传递?无论如何,post请求都会将值作为请求参数传递。这些参数将通过请求正文发送,这就是您使用POST请求类型的原因。

答案 2 :(得分:0)

是。查询字符串和请求主体是HTTP请求中的两个不同的东西。 jQuery将数据包装在查询字符串中以获取GET请求,这可能是混淆的来源

  • GET请求:正文(或有效负载)为空,只有网址包含数据。
  • POST请求:根据需要填充正文,或者使用url-encoding,或者使用json-encoding