ajax GET / POST,实际发送的是什么?

时间:2012-10-08 15:12:17

标签: jquery ajax

$.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()时发送的完整页面?或者它只是页面的一部分?

2 个答案:

答案 0 :(得分:2)

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

在您的示例中,您要发送两个变量foobar,这两个变量位于对象内部,唯一的区别是发送数据的方法(getpost

答案 1 :(得分:2)

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

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