0
$.ajax({ 
    url: 'somewhere.php',
    data: { foo: 'foo', bar: 'bar' }
});

我知道这会在 firebug 中生成一个 get-string,类似于somepage.php?foo=foo&bar=bar

$.ajax({ 
    url: 'somewhere.php',
    data: { foo: 'foo', bar: 'bar' },
    type: 'POST'
});

这将发布一个带有值的表单。

但它是在使用时发送的完整页面$.ajax()吗?或者它只是页面的一部分?

4

2 回答 2

2

data参数包含您发送的所有数据,因此它不是页面的一部分,也不是整个页面(除非您这样做)。

在您的示例中,您发送了两个变量foobar,它们在对象内部,这里唯一的区别是发送数据的方法(getpost)。

于 2012-10-08T15:13:41.953 回答
2

最后,它只是发送了另一个 HTTP 请求。您的$.ajax()调用参数定义了请求的外观。您没有发送页面,就像您通过在地址栏中键入来告诉浏览器访问 google.com 时没有发送页面一样。

不过,您正在收到一个页面。通过 ajax 调用接收页面和浏览到它的区别在于它不会发送到浏览器的渲染引擎并显示在它自己的窗口或选项卡中,而是该页面的源只是发送到您在 jQuery 中定义的回调函数.

于 2012-10-08T15:17:28.533 回答