如何发请求?
用 form 可以发请求,但是会刷新页面或新开页面
用 a 可以发 get 请求,但是也会刷新页面或新开页面
用 img 可以发 get 请求,但是只能以图片的形式展示
用 link 可以发 get 请求,但是只能以 CSS、favicon 的形式展示
用 script 可以发 get 请求,但是只能以脚本的形式运行
JSON 是一门新语言
同源策略
只有 协议+端口+域名 一模一样才允许发 AJAX 请求
一模一样一模一样一模一样一模一样一模一样一模一样一模一样一模一样
- http://baidu.com 可以向 http://www.baidu.com 发 AJAX 请求吗 no
- http://baidu.com:80 可以向 http://baidu.com:81 发 AJAX 请求吗 no
浏览器必须保证
只有 协议+端口+域名 一模一样才允许发 AJAX 请求
CORS 可以告诉浏览器,我俩一家的,别阻止他
突破同源策略 === 跨域
response.setHeader=('Access-Control-Allow-Origin','http://frank.com:8001')
//允许这个域名CORS他
Cross-Origin Resource Sharing
C O源 R S
CORS 跨域
1.JS可以设置任意请求 header吗?
- 第一部分
request.open('get','/xxx')
- 第二部分
request.setHeader('Content-Type','x-www-form-urlencoded')
- 第三部分回车不设置
- 第四部分
request.send('a=1&b=2')
2.JS可以获得任意请求吗?
- 第一部分
request.status/request.statusText
- 第二部分
request.getResponseHeader()/reques.getAllReseHeaders()
- 第四部分
request.responseText