• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ajax和jsonp跨域的原理本质详解

    为什么会有跨域问题? - 因为有同源策略

    同源策略是浏览器的一种安全策略,所谓同源指的是 请求URL地址中的 协议, 域名 和 端口 都相同,只要其中之一不相同就是跨域

    同源策略主要为了保证浏览器的安全性

    在同源策略下,浏览器 不允许 Ajax跨域获取服务器数据

    http://www.example.com/detail.html

    跨域请求:

    ajax的基本概念

    了解这个概念,首先得先知道同步交互与异步交互

    ajax主要的应用场景:页面不刷新,就可以与服务器进行动态的数据交互

    交互的原理

    我们所有的交互操作都可以通过这个对象来完成,发送请求,接受服务器的数据

    ajax的具体应用场景

    XMLHttpRequest 交互的四个步骤

          1,实例化XMLHttpRequest 对象

          2,想和服务器进行交互,必须和服务器打开一个连接

          3,给服务器发送数据,发送参数数据到服务器

          4,接受服务器返回的数据,服务器在返回给客户端的时候会返回一些状态,可以通过监听服务器状态的改变,来更好的操控整个交互流程

    ajax跨域

    跨域:假设我访问 a 站点,后台返回给我一个页面,然后我又想在 a 站点的这个页面去访问 b 站点的资源,这就是一个跨域的效果,跨域浏览器是有安全限制的

    解决·跨域的方式:jsonp方式

    JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求资源而产生的解决方案。他实现的基本原理是利用了 HTML 里 script>/script> 元素标签,远程调用 JSON 文件来实现数据传递。如要在 a.com 域下获取存在 b.com 的 JSON 数据( getUsers.JSON ):

    jsonp解决跨域的本质原理:由于浏览器有同源限制,不同站点之间不能相互访问,但是有时候我们就是想要获取其他站点的数据,比如加入我们想要获取一下急速数据的天气预报数据,这肯定跨域了,那么我们该怎么办呢?

    原理:就是动态创建script>标签,然后利用script>的src 不受同源策略约束来跨域获取数据。

    这样在后台就可以获取到前台传过来的那个回调函数,,最后后台返回这个函数的调用,参数为前台请求的数据

    js代码

    script type="text/javascript">
     function handleResponse(response){
       console.log(response);
     }
    /script>
    
    script type="text/javascript">
     window.onload = function() {
    
     var oBtn = document.getElementById('btn');
    
     oBtn.onclick = function() { 
    
      var script = document.createElement("script");
      script.src = "https://api.douban.com/v2/book/search?q=javascriptcount=1callback=handleResponse";
      document.body.insertBefore(script, document.body.firstChild); 
     };
    };
    /script>

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Django查询优化及ajax编码格式原理解析
    • Spring mvc AJAX技术实现原理解析
    • vue ajax 拦截原理与实现方法示例
    • Ajax原理与应用案例快速入门教程
    • 解决ajax不能访问本地文件问题(利用js跨域原理)
    • 谈谈Ajax原理实现过程
    • Ajax工作原理及优缺点实例解析
    上一篇:Ajax异步检查用户名是否存在
    下一篇:ajax获取json数据为undefined原因分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ajax和jsonp跨域的原理本质详解 ajax,和,jsonp,跨域,的,原理,