Ajax 使用及跨域
Ajax 存在跨域问题主要是浏览器端问题,浏览器的同源策略导致。
第一种方式:服务器端设置 header
- 通过设置响应头
Access-Control-Allow-Origin: '*'
,实现跨域。 - 通过
req.headers.origin
对象,判断请求来源。
以下是服务器端代码:
以下是浏览器端代码;
第二种方式:webpack 代理
fetch
fetch 返回一个Promise 对象。
fetch('some_url').then((response) => {})
将 response 的结构如下所示:
// response 的结构
{
body: ReadableStream
bodyUsed: false
headers: Headers
ok : true
redirected : false
status : 200
statusText : "OK"
type : "cors"
url : "http://some-website.com/some-url"
__proto__ : Response
}