8

如何使用 jQuery AJAX 请求同时发送 GET 和 POST 参数?

我正在尝试添加 do=ajax&id=" + IDurl,但结果请求仅打磨到sss.php没有查询字符串(获取部分)。谢谢。

$.ajax({
    url: "sss.php?do=ajax&id=" + ID ,
    type: "post",
    data: "ddd=sss",
    // callback handler that will be called on success
    success: function(response, textStatus, jqXHR){
        // log a message to the console
        console.log("Hooray, it worked!");
    },
    // callback handler that will be called on error
    error: function(jqXHR, textStatus, errorThrown){
        // log the error to the console
        console.log(
            "The following error occured: "+
            textStatus, errorThrown
        );
    }
});
4

1 回答 1

9

我认为您遇到了观察性错误,或者看到的是服务器端而不是 jQuery 问题。当我做这样的帖子

$.ajax({
  url: "http://jsbin.com/eduzif/1?foo=bar",
  type: "post",
  data: "baz=doh",
  success: function() {
    display("Done, look at your console's network tab");
  }
});

...查询字符串和 POST 数据都发送到服务器。如果您使用 Chrome 或 Firefox 等现代浏览器并在触发帖子后查看控制台的“网络”选项卡,则很容易检查这一点。就我而言:

显示包含查询字符串和表单数据的帖子的图像

(您可以忽略上面的服务器回复 403;JSBin 不允许 POST,但这不会影响我们在发送到服务器的请求中看到的内容。)

所以这里的答案是:仔细检查你是如何在服务器端获取数据的。URL 中的参数(“GET”样式参数)可用作查询字符串参数(URL 的一部分);“POST”样式参数可用作“表单”数据(例如,响应的正文)。根据您使用的服务器端技术,通常有不同的方法来检索 GET(查询字符串)参数与 POST(表单数据/正文)参数。

于 2012-10-01T20:34:25.053 回答