2012-10-08 52 views
0
$.ajax({ 
    url: 'somewhere.php', 
    data: { foo: 'foo', bar: 'bar' } 
}); 

我知道,这将产生一个GET字符串的萤火,类似于somepage.php?foo=foo&bar=barajax GET/POST,实际发送了什么?

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

,这将发布形式与价值。

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

+0

在这两种情况下你都发送一个对象。 – undefined

回答

2

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

您收到一个页面,虽然。通过ajax调用接收页面和浏览页面的区别在于,它不会发送到浏览器的渲染引擎并显示在其自己的窗口或标签中,但是该页面的源代码仅发送给您在jQuery中定义的回调函数。

+0

有道理,谢谢阐述! – Johan

2

data参数包含了所有你要发送的数据,所以它不是页,也不全页面(除非你把它的话)的一部分。

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

+0

那么发送ajax get和post又有什么区别?我没有看到任何理由使用get。 – Johan

+0

那么,关于'GET'和'POST'的说法很多,例如[获取VS邮政对于初学者(http://stevenclark.com.au/2008/01/12/get-vs-post-for-the-beginner/) – Zbigniew

+0

如此看来,你需要计算时使用'GET'以及何时使用'POST',还我发现[此帖](http://stackoverflow.com/questions/12399105/get-and-post-method-in-html) – Zbigniew

相关问题