工学1号馆

home

« | 返回首页 | »

$.get(), $.post(), $.ajax()

By Wu Yudong on March 05, 2019

一直在使用$.get(), $.post(), $.ajax(),但是它们之间的区别和联系一直没有完全搞清楚,这里记录一下。

首先简单的认识一下get与post请求

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET – 从指定的资源请求数据。
  • POST – 向指定的资源提交要被处理的数据

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.asp?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

有关 POST 请求的其他一些注释:

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

$.ajax与$.post、$.get的区别

$.ajax 是 jQuery 底层 AJAX 实现,$.ajax是一种通用的底层封装,$.ajax()请求数据之后,则需要使用回调函数,有beforeSend、error、dataFilter、success、complete等。

$.get,$.post是简单易用的高层实现,我们使用$.get,$.post方法,jQuery会自动封装调用底层的$.ajax。

$.get 只处理简单的get请求功能以取代复杂 $.ajax,请求成功时可调用回调函数。不支持出错时执行函数,否则必须使用$.ajax。
$.post 只处理 post请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。不支持出错时执行函数,否则必须使用$.ajax。
$.get(“test.php”, { name: “John”, time: “2pm” } ) ,$.get方法在请求时会自动生成queryString提交给服务器(name=John&time=2pm)

$.post方法提交的数据直接类似表单提交,提交的数据量比$.get更大。

当把$.ajax()中的参数type设为Get或Post,则分别同get()或post()

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)