• 关于JSONP的一些概念


    JavaScript初学,一点自己的理解

    JSONP本地html文件要获取xxx网站(跨域)数据时使用的方法。

    跨域问题:外部服务器的数据只能用外部服务器中的js访问,本地js无法用XMLHttpRequest()访问。

    外部服务器中的Web服务提供JSON数据,比如在http://gumball.wickedlysmart.com/中,数据包含在函数updateSales中作为参数,现在要在本地html中访问外部服务器中的JSON数据该怎么办呢?

    1, 查看Web服务文档,明确服务实际使用的参数名(本例只有一个参数即一个对象数组);

    2, 在url中指定一个回调函数,http://gumball.wickedlysmart.com/?callback=updateSales,用来指定Web服务中访问JSON数据的函数名;

    3, 在本地js文件中使用刚才定义的函数名创建函数updateSales(对象),编写处理得到外部JSON数据的方法;

    4, 在html文件中的<body>标签下使用<script>标签链接到外部Web服务,url为2中的那个路径。

    总结:JSONP目的在于提供给本地html一个函数接口(本地html可通过在url后方加入?callback=functionName的方法指定函数名),为了确保数据访问的安全,服务器将安全的数据放在回调函数的参数中,函数内部的参数就是服务器提供给本地的数据,至于怎么使用这些数据就要在本地的js中定义这个callback函数了。

     

    注意:本地使用JSONP请求访问Web服务,可能会获取不安全的Js代码,所以要确保信任这个Web服务。

     

    JSONP与XMLHttpRequest:

             XMLHttpRequest用于开发内部Web服务,内部访问内部,同域访问会更加简便。

             访问外部数据时(跨域访问)就要使用JSONP。

  • 相关阅读:
    linux的一般命令------附加
    linux(4)----------ssh config详解
    linux(3)--------SSH工具的安装使用
    linux(2)-----新装linux配置
    linux(1)------vmvear虚拟机安装linux
    (3)hadoop单节点配置
    (2)hadoop之-----配置免密码登录
    (1)hadoop之----linux配置jdk环境
    BZOJ 1037 生日聚会(神DP)
    BZOJ 1046 上升序列(LIS变形)
  • 原文地址:https://www.cnblogs.com/csuhyd/p/4361748.html
Copyright © 2020-2023  润新知