你晓得在浏览器环境下JavaScript能够应用到的提交/要求数据的体式格局有哪些吗?这些体式格局各自有什么特性呢?在什么情况下运用呢?让我们一同来整顿一下。
基础知识
发起人人先看完这几篇文章,相识一下基础知识
XMLHTTPRequest
XMLHTTPRequest是最常见的,也是许多框架封装的数据要求要领的底层完成,如我们最熟习的各种框架的Ajax要领。
细致文档:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
Form Action
能够应用Form(表单)来提交/要求,这太经常使用,因而我们屡见不鲜了。实在这也是JavaScript能够应用到的提交/要求数据的体式格局之一。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form
文档有意思的,常被新手疏忽的的target属性,可合营iframe完成无刷新地与服务器交互(跨域)
A Href
既然Form Action也算,那a标签的href也算吧,233
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
Script Src
没错,这个也算。JSONP就是应用script标签的src来要求数据,然后守候数据要求终了后从script标签中读取数据,奇妙地处置惩罚了逾越的题目。一些AMD JavaScript框架也用script标签来异步加载模块,如requirejs。一些JavaScript模版也会用script标签来加载模版,如artTemplate。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
Link Href
没错我说的就是这些。脑敞开起来,一同整顿出来。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
Img Src
这个也能够用来数据,平常是图象数据。JavaScript能够监听图象加载后的相应。能够拿到图象像素数据,能够合营Canvas做庞杂图象处置惩罚,不过有跨域限定。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
Audio Src
和上面的差不多。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
关于audio底层处置惩罚有兴致的能够参考这篇
Video Src
和上面的差不多。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
frame& iframe Src
差点忘了这两个兄弟,虽然哥哥frame已基础没人用了。
细致文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
Fetch
这个新出的玩艺儿,只要少数高版本浏览器支撑。实质与XMLHTTPRequest差别。但有的框架为了支撑更多平台,一致API,对不支撑Fetch的浏览器供应底层XMLHTTPRequest完成的支撑。
细致文档:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
PS: 以上大多数情况下都是用到基于HTTP协定的功用,少数有用到file协定和ftp协定的。
WebSocket
WebSocket则供应给我们时机让我们应用TCP协定与服务端竖立长链接,延续通讯。
细致文档:https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
WebRTC
愈来愈厉害了,233
细致文档:https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
另有吗?迎接补充&纠错
补充一点,注重辨别get跨域和post跨域
待更新
fetch的源码,道理相干