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格式数据一般找后台给包装下,再返回给前台使用。

       

         

     

         

     

        

       

       

       

      

  • 相关阅读:
    WCF系列之双工通信 牧羊人
    WCF系列之承载(IISHTTP) 牧羊人
    在Ubuntu 10.10下安装JDK配置Eclipse及Tomcat【转载 + 订正】
    gconfeditor简介【转载】
    Ubuntu10.10(linux) 安装jdk1.6及环境变量的设置【转载】
    ubuntu下txt文件中文显示乱码的方法【转载】
    程序员的编辑器——VIM【转载】
    xx is not in the sudoers file 问题解决【转载】
    win7下配置PHP+apache+mysql【转载 + 补充】
    ubuntu忘记密码,忘记root密码的解决方法!【转载】
  • 原文地址:https://www.cnblogs.com/yangyutian/p/10961754.html
Copyright © 2011-2022 走看看