AJAX 及 同源策略/ CORS跨域

栏目: jQuery · 发布时间: 5年前

内容简介:1、http://baidu.com 可以向 http://www.baidu.com 发送请求吗 ???不能!!!要一模一样才行

什么是AJAX

是异步的JavaScript 和 XML

面试题:

请使用原生js来发送AJAX请求

let request = new XMLHttpRequest()
  request.open('get', '/xxx') // 配置request
  request.send()
  request.onreadystatechange = ()=>{
    if(request.readyState === 4){ 
      if(request.status >= 200 && request.status < 300){
        console.log('说明请求成功')
      }else if(request.status >= 400){
        console.log('说明请求失败') 
      }
    }
  }

同源策略

如果你不是 xxxxx.com 里的js 你就不能向这个域名发送 任何ajax请求

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

【注意要】一模一样 一模一样 一模一样 一模一样

1、http://baidu.com 可以向 http://www.baidu.com 发送请求吗 ???

不能!!!要一模一样才行

2、http://baidu.com:80 可以向 http://baidu.com:81 发送 ajax 请求吗???

不能!!!端口不一样

cors 跨域

cors 可以告诉浏览器 不需阻止

非要响应就在服务器写:
    response.setHeader('Access-Control-Allow-Origin','xxxxxx 网址 xxxxxx')

为什么要有同源策略?

因为原页面用form 提交到另一个域名之后,

原页面的脚本无法获取新页面中的内容

所以浏览器认为是安全的

而ajax是可以读取响应内容的

因此浏览器不能允许你这样做(请求已经发出去了 只是没有响应而已)

同源策略的本质是:

一个域名的js

在未经允许的情况下不得读取另一个域名的内容

但浏览器并不阻止你向另一个域名发送请求


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能网站建设指南(第二版)

高性能网站建设指南(第二版)

Steve Souders / 刘彦博 / 电子工业出版社 / 2015-5 / 55.00元

《高性能网站建设指南:前端工程师技能精髓》结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南:前端工程师技能精髓》中,作者给出了14条具体的优化......一起来看看 《高性能网站建设指南(第二版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具