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

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

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


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

查看所有标签

猜你喜欢:

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

JavaScript设计模式

JavaScript设计模式

Ross Harmes、Dustin Diaz / 谢廷晟 / 人民邮电出版社 / 2008 / 45.00元

本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript 程序员最常见的任务,然后运用设计模式使其解决方......一起来看看 《JavaScript设计模式》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具