前端学习

AJAX

2019-01-18  本文已影响0人  本来无一物_f1f2

如何发请求?

用 form 可以发请求,但是会刷新页面或新开页面
用 a 可以发 get 请求,但是也会刷新页面或新开页面
用 img 可以发 get 请求,但是只能以图片的形式展示
用 link 可以发 get 请求,但是只能以 CSS、favicon 的形式展示
用 script 可以发 get 请求,但是只能以脚本的形式运行

JSON 是一门新语言

同源策略

只有 协议+端口+域名 一模一样才允许发 AJAX 请求

一模一样一模一样一模一样一模一样一模一样一模一样一模一样一模一样

  1. http://baidu.com 可以向 http://www.baidu.com 发 AJAX 请求吗 no
  2. 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吗?

  1. 第一部分request.open('get','/xxx')
  2. 第二部分request.setHeader('Content-Type','x-www-form-urlencoded')
  3. 第三部分回车不设置
  4. 第四部分request.send('a=1&b=2')

2.JS可以获得任意请求吗?

  1. 第一部分request.status/request.statusText
  2. 第二部分request.getResponseHeader()/reques.getAllReseHeaders()
  3. 第四部分request.responseText
上一篇 下一篇

猜你喜欢

热点阅读