zoukankan      html  css  js  c++  java
  • Ajax_ajax请求中的跨域问题---浏览器不允许ajax跨域获取服务器数据,那我们就用jsonp来实现跨域

    1、认识跨域---跨域获取数据是客观存在的

      实际开发中跨域下还要获取服务端数据这种需求也是很常见的, 因为资源(即使是同一项目,不同子模块)也可能部署在不同的设备上(服务器,不同设备有不同域名或IP地址)。

      

      比如:域名为a的文件通过ajax请求想访问域名为b下的文件---此时发生了跨域请求,浏览器不允许ajax跨域获取服务器数据

        

        

        

        

     2、跨域的解决方式

      

      a、jsonp(jquery中提供了jsonp来解决跨域问题)---主流解决方案(开发接口比较简单,没有兼容性问题)

         

       b、jsonp原理---jsonp致命问题  :只支持get请求(所以最后一般是后台通过技术解决跨域请求问题)

        

        

        

        

        静态的不常用,了解就行,一般用动态创建标签的形式

        

        

        

        -------------------------------------------------------------------------------------------------------------------

        

        

        jsonp的本质并不是Ajax,而是。。。

        

      c、jquery封装好了jsonp跨域获取数据

        

        

        

        

        

        

        若后端不叫callback,那前端可以自定义名称,jquery里面写的很灵活(前端迎合后端)

        

           

       c、jsonp应用场景

        

        典型的jsonp接口:标准的第3方接口

         

        用jquery封装好的jsonp调第3方接口(jsonp接口)查数据

        

        

        接口: 后台返回的是数据而不是完整的页面,此时的url就可以说是接口作用,接口类型可按后台返回数据类型类型来分,比如jsonp接口  json格式接口 等

        以下这个网站的接口一般都是json接口,数据都是给后台语言用的,前台想拿到这种json格式数据一般找后台给包装下,再返回给前台使用。

       

         

     

         

     

        

       

       

       

      

  • 相关阅读:
    EF6(CodeFirst)+MySql开发遇到的坑
    Entity Framework mvc Code First data migration
    SQL 修改排序规则的问题 sql_latin1_general_cp1_ci_as
    sql 与linq的转换
    Entity Framework的事务提交
    .net Quartz 服务 作业调度
    如何插上U盘 自动复制内容
    SQL学习之--触发器
    原生javascript与jquery 的比较
    原生javascript学习
  • 原文地址:https://www.cnblogs.com/yangyutian/p/10961754.html
Copyright © 2011-2022 走看看