前言
在浏览器里输入 url 可以发起 http 请求,除此之外,还有什么方式可以发起 http 请求?这些请求又有什么限制呢?
发起方式
标签发起请求
script
、link
、img
等可以引用资源的标签。在 html 页面中如果发现这些标签会发起对应地址的 http 请求,请求对应的资源。这些标签的作用只是引用对应的资源,因此不受到同源策略的限制。而且,这些标签对应的请求都是固定的 GET
请求方式,无法更改。
form 表单发起请求
form
表单标签可以发起 http 请求,并且可以指定 http 请求的方法,如果直接通过 form
的 action
属性发起的 http 请求,是不受同源策略的限制的。比如通过 submit 按钮提交或者通过调用表单dom的 submit 方法。
ajax 发起请求
ajax,即 XMLHttpRequest
,可以在 js 代码中发起 http 请求,受到同源策略的限制。
fetch API 发起请求
fetch API ,也可以在 js 代码中发起 http 请求,受到同源策略的限制。