zoukankan      html  css  js  c++  java
  • json和跨域

    1、json   javaScript  Object Notation(javaScript 对象表示法)

    json是 存储和交换文本信息的语法,类似XML         json是轻量级的文本数据交换格式

    2、JSON遍历数组

    例:var jsonObj = { "name": "成霄","age": 22,"height": "175", "hobby": ["敲代码","健身","游戏"] };
            console.log(jsonObj.name);
        console.log(jsonObj['age']);
        for (var key in jsonObj.hobby) {
            //key 是数组的索引
            document.write(jsonObj.hobby[key])
        }
        jsonObj.hobby.forEach(function(value,index){
            console.log(value,index);
            document.write(value)
        })

    3、json  对象 与json  字符串转换

    json对象  转换成  json 字符串   json.stringify

    json字符串  转json 对象  json.parse()

    4、获取对象里的属性值

    (1)json对象.属性  

    (2) json[‘属性’]  []获取里面要加引号

    5、jsonp 解决跨域  

    jsonp的实现原理  动态创建script标签

    Jsonp(JSONwithPadding)是json的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
    为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP)呢?这是因为同源策略。
    同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript的浏览器都会使用这个策略。

    示例
    $(function () {
            $.ajax({
                url: 'https://www.baidu.com?callback=fn',
                type: 'get',
                dataType: 'jsonp',
                success: function (res) {
                    console.log(res)
                }
            })
        })
        // 创建动态标签
        var url = 'https://www.baidu.com?callback=fn';
        var script = document.createElement('script');
        document.getElementsByTagName('head')[0].appendChild(script);
        script.setAttribute('src', url);
        function fn(user, password) {
            
        }
    6、跨域
     // 同源策略:协议,域名,端口号一致就叫同源   http/https  www.baidu.com  8080
        // 跨域:只要上述有一个不一致就叫跨域    
    总结:解决跨域方法:1.jsonp 2.后台配置 3.设置代理(后期再vue框架会讲)
        // https://www.baidu.com:8080    源地址
        // https://www.baidu.com:8090  

        $.ajax({
            url:'http://course.myhope365.com/index',
            type:'get',
            dataType:'jsonp',
            success:function(res){
                console.log(res)
            }

        }) 
     
    // jsonp的实现原理  动态创建script标签
        var url = 'https://www.baidu.com?callback=fn';
        var script = document.createElement('script');

        script.setAttribute('src', url)

        document.getElementsByTagName('head')[0].appendChild(script);

        function fn(name, age) {
            // 业务逻辑
        }
    //  No 'Access-Control-Allow-Origin' header is present on the requested resource.  跨域问题
    // 解决跨域:1.jsonp 动态创建script 标签,利用src属性可以完成
    //          2.通过后台设置请求头
    //          3.代理方式
  • 相关阅读:
    浅谈双连通分量、强连通分量
    第四届 山东省ACM大学生程序设计竞赛
    第四届 山东省ACM Rescue The Princess(计算几何)
    light oj 1138
    hdoj 2767 Proving Equivalences【求scc&&缩点】【求最少添加多少条边使这个图成为一个scc】
    hdoj 3836 Equivalent Sets【scc&&缩点】【求最少加多少条边使图强连通】
    hdoj 3072 Intelligence System【求scc&&缩点】【求连通所有scc的最小花费】
    hdoj 1827 Summer Holiday【强连通分量&&缩点】
    hdoj 1269 迷宫城堡【scc基础题目】
    light oj 1019【最短路模板】
  • 原文地址:https://www.cnblogs.com/guirong/p/13504484.html
Copyright © 2011-2022 走看看