微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery+Ajax 笔记 - GET和POST及异同

GET和POST的异同

写在前面:博客记录自己学习jQuery学习笔记,如有侵权,联系删!
学习来源: 李南江亲授-jQuery+Ajax从放弃到知根知底
李南江老师各平台账号:

  • 微博:极客江南
  • 微信公众号:李南江
  • 腾讯课堂: 李南江
  • 网易云课堂:李南江

GET和POST请求是Ajax常用的两种请求方式,两种请求方式的差别如下:

GET请求

在HTML中,用表单提交数据,需要用到请求,例如GET请求
method属性指定发送请求的方式

<form action="02-get-post.PHP" method="get">
    <input type="text" name="userName"><br>
    <input type="password" name="userPwd"><br>
    <input type="submit" value="提交"><br>
</form>

如果是get请求会将提交的数据拼接到URL后面?userName=lnj&userPwd=123456

POST请求

在HTML中,用表单提交数据,需要用到请求,例如POST请求
method属性指定发送请求的方式

<form action="02-get-post.PHP" method="get">
    <input type="text" name="userName"><br>
    <input type="password" name="userPwd"><br>
    <input type="submit" value="提交"><br>
</form>

如果是post请求会将提交的数据放到请求头中

如果要上传的是文件,那么用一般的请求方式就不行了,例如上传文件
上传文件必须设置enctype="multipart/form-data"

<form action="03-post-file.PHP" method="post" enctype="multipart/form-data">
    <input type="file" name="upFile"><br>
    <input type="submit" value="上传"><br>
</form>
</body>
</html>

GET请求和POST请求的异同

相同点:

都是将数据提交到远程服务器

不同点:

1、提交数据存储的位置不同

  • GET请求会将数据放到URL后面
  • POST请求会将数据放到请求头(Request body)中

2、提交数据大小限制不同

  • GET请求对数据有大小限制
  • POST请求对数据没有大小限制

3、参数的数据类型限制不同

  • GET只接受ASCII字符
  • POST没有限制

4、应用场景不同

  • GET请求用于提交非敏感数据和小数据
  • POST请求用于提交敏感数据和大数据

5、保留情况

  • GET请求参数会被完整保留在浏览器历史记录里
  • POST中的参数不会被保留在浏览器历史记录里

6、编码方式

  • GET请求只能进行url编码
  • POST支持多种编码方式

7、浏览器回退

  • GET在浏览器回退时是无害的
  • 而POST会再次提交请求

没有太过深入了解,从w3cschool和博客中大致总结出以上异同点。不过在逛博客时,看到一个文章的解释还蛮有趣,通俗易懂:链接奉上 详解HTTP中GET与POST的区别,不是你看过的标准答案!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐