javascript - 懂http协议和ajax的进来看下,有几个小问题?谢了!!
黄舟
黄舟 2017-04-10 14:49:25
[JavaScript讨论组]

问题如下
1.通过html表单方式提交数据(可以指定get和post)和ajax方式请求的原理是一样的吗?

2.http协议里面的get 和post请求方式和ajax的get 和post是一回事吗?

这几个概念总是分不清

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(6)
怪我咯

ajax 和 http 不是一個層面上的東西。

http (Hypertext Transfer Protocol) 是一種協議;
ajax (asynchronous JavaScript + XML) 是一種技術。

對於不是一個層面的東西,沒辦法簡單地說是、不是,只能說怎麼是、如何是。

ajax 當中的 get 與 html form 中的 get 等,同樣指的是用 http 中的一種特定 request method 傳輸數據。

泛泛而言,ajax get 是一個具體事物,比如某一張桌子,而 http get,是形相,是桌子的概念。
ajax get 和 html form get 的區別,就是這張桌子和那張桌子的區別,但他們都「是」桌子,「屬於」桌子,卻並不「等於」桌子。

更多 request methods 參見 http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

迷茫

不完全一样。 一般通过Form方式提交的数据会设置特殊的Content-Type: application/x-www-form-urlencoded, 也会改变location。 而通过Ajax请求可以自定义请求体类型Content-Type, 它的请求头部会设置“Connection”为“Keep-Alive“。 目前就想到这些差别了

迷茫
  1. ajax用的http协议。
PHP中文网

ajax是一个技术点。post和get是http请求的方式,还有put,head,delete等方式。

天蓬老师
  1. 原理一样,只是请求的时候,header会不一样,比如ajax的请求头一般是X-Requested-With:XMLHttpRequest, 服务器端可以通过这个头来判断是否是ajax请求。
PHP中文网

ajax提供了一种方式,使得在js中可以触发http请求。想当初ajax技术还没有出来的时候(那个时代大概是ie4的天下),只能通过浏览器跳转来刷新当前页面的内容。自从ajax技术出现后,大家逐渐习惯用js来触发http请求,并且这种请求不用刷新页面,然后在跟js中的DOM函数结合使用,就可以实现页面的局部刷新了。
所以说可以这么总结,ajax是一系列的js api,而http协议是一种网络通信协议。调用ajax函数的时候,可以实现http通信。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号