4

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

例子 :

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

那么 param 任务中的查询字符串可以正常工作吗?或者我们需要以另一种方式来做?谢谢你。

4

3 回答 3

9

在data参数中发送任务

data:"task=addNewInfo&" + $('#regForm').serialize()

这是为了使用 POST 方法。如果您想使用 GET 方法,那么 Arun 的解决方案可以正常工作。

于 2012-05-11T03:45:34.940 回答
4

我认为以下将正常工作

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

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

于 2012-05-11T03:39:57.830 回答
0

是的。查询字符串和请求正文在 HTTP 请求中是两个不同的东西。jQuery 将数据包装在 GET 请求的查询字符串中,这可能是混淆的根源

  • GET 请求:正文(或有效负载)为空,只有 url 保存数据。
  • POST 请求:根据需要填充正文,可以使用 url-encoding 像你一样,也可以使用 json-encoding
于 2014-01-04T12:41:09.460 回答