首页 > 其他分享 >初识跨域&CORS跨域资源共享&JSONP

初识跨域&CORS跨域资源共享&JSONP

时间:2023-03-29 15:55:11浏览次数:44  
标签:word 跨域 JSONP xhr CORS 浏览器

初识跨域

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>初始跨域</title>
    </head>
    <body>
        <script>
            //1.跨域是什么
     
            //同域,不是跨域
            //const url = './index.html';
            // const url = 'https://www.baidu.com';//不同域
            // const xhr = new XMLHttpRequest();
                    
                /* Access to XMLHttpRequest at 'https://www.baidu.com/' from origin 'http://127.0.0.
                1:8848' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is
                present on the requested resource.    
                     */
                    
                //想一个域发送请求,如果请求的域和当前与是不同域,就要跨域
                //不同域之间的请求,就是跨域请求    
                    
              //    xhr.onreadystatechange = () => {
              //       if (xhr.readyState != 4) return;
              //       if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
              //         console.log(xhr.responseText);
              //       }
              //     };
              //     xhr.open('GET', url, true);
              //     xhr.send(null);
                              

        </script>    
    </body>
</html>

 

 CORS是什么

    

  使用CORS跨域的过程

    浏览器发送请求

    后端在响应头中添加Access-Control-Allow-Origin头信息

    浏览器接收到响应

    如果是同域的下的请求,浏览器不会额外做什么,这次前后端通信就圆满完成了

    如果是跨域请求,浏览器会从响应头中查询允许跨域访问

    如果是允许跨域,通信圆满完成

    如果没找到或不包含想要跨域的域名,就丢弃响应结果

  CORS的兼容性

    IE10及以上的版本的浏览器可以正常使用CORS

    JSONP

 

CORS跨域资源共享

 CORS是什么

    

  使用CORS跨域的过程

    浏览器发送请求

    后端在响应头中添加Access-Control-Allow-Origin头信息

    浏览器接收到响应

    如果是同域的下的请求,浏览器不会额外做什么,这次前后端通信就圆满完成了

    如果是跨域请求,浏览器会从响应头中查询允许跨域访问

    如果是允许跨域,通信圆满完成

    如果没找到或不包含想要跨域的域名,就丢弃响应结果

  CORS的兼容性

    IE10及以上的版本的浏览器可以正常使用CORS

    JSONP

 

 

JSONP

 

 1.JSONP的原理

        script标签跨域不会被浏览器阻止
        JSONP主要就是利用script标签,加载跨域文件

 

    2.使用JSONP实现跨域 

        服务器端准备好JSONP接口

        https://www.imooc.com/api/http/jsonp?callback=handleResPonse

复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JSONP</title>
    </head>
    <body>
        <script>
            //1.JSONP的原理
            //script标签跨域不会被浏览器阻止
            //JSONP主要就是利用script标签,加载跨域文件
            
            
            //2.使用JSONP实现跨域
            //服务器端准备好JSONP实现跨域
            
            //手动加载JSONP接口 或者动态加载JSONP接口
            
            const script = document.createElement('script');
            script.src ='https://www.imooc.com/api/http/jsonp?callback=ab';
            document.body.appendChild(script)
            
            
            //声明函数
            const ab = data =>{
                console.log(data)
            };
            
/*             ab({ 
            "code": 200, "data": [ { "word": "jsp" }, 
            { "word": "js" }, { "word": "json" },   
            { "word": "js 入门" }, { "word": "jstl" } ] });
 */
        </script>
        <!-- <script src="https://www.imooc.com/api/http/jsonp?callback=ab"></script> -->
        <!-- 相当于 -->
        <!-- <script>
            { "code": 200, "data": [ { "word": "jsp" }, { "word": "js" }, { "word": "json" }, { "word": "js 入门" }, { "word": "jstl" } ] }
        </script>     -->
    </body>
</html>
复制代码

 

        

标签:word,跨域,JSONP,xhr,CORS,浏览器
From: https://www.cnblogs.com/yu3304/p/17269189.html

相关文章

  • 4-1初始跨域|4-3跨域资源共享|4-4JSONP
    跨域是什么<script>//1.跨域是什么//同域,不是跨域//consturl='./index.html';//consturl='https://www......
  • Apache 转发配置,解决跨域问题
    使用wamp时,项目需求指定的地址需要转发至另一端服务器的请求,同时能够解决跨域的问题Apache安装目录,修改/conf目录下的httpd.conf文件第一步 去掉两行的注释#去掉......
  • 跨域处理
    产生原因跨域产生的原因是由于前端地址与后台接口不是同源,从而导致ajax不能发送非同源产生的问题Cookie、LocalStorage和IndexDB无法获取DOM无法获得AJAX请求......
  • 跨域问题
    ·跨域问题是指在一个域名下的网页,通过Ajax请求另一个域名下的数据,浏览器出于安全考虑,会阻止这样的请求。·通过一个地址去访问另外一个地址,这个过程中如果有三个地方任......
  • tp6跨域访问最新写法
    tp6跨域访问最新写法publicfunctionhandle($request,Closure$next,?array$header=[]){$header=!empty($header)?array_merg......
  • 初识跨域、CORS跨域资源共享、JSONP
    初识跨域跨域是什么什么是不同域,什么是同域https(协议)://www.imooc.com(域名):443(端口号)/course/list(路径)协议、域名、端口号,......
  • jsonpath解析淘票票城市
    步骤:首先找到城市的接口通过F12打开检查点击北京即可得到爬取数据的接口打开url发现显示的是jsonp121({"returnCode":"0","returnValue":{}});原因:​ 淘票票的请求头......
  • 跨域资源共享与JSONP
    跨域资源共享1.CORS是什么//1.CORS是什么//consturl='https://www.imooc.com';//不同域consturl='https......
  • Chrome公网访问本地服务跨域问题【解决方案】
    第一步:在chrome浏览器地址栏输入:chrome://flags/#block-insecure-private-network-requests,打回车 ,打回车。......
  • #yyds干货盘点#vue设置跨域proxy
    创建​​vue.config.js​​文件//方法1module.exports={devServer:{host:'localhost',port:'8083',proxy:{'/api':{//......