zoukankan      html  css  js  c++  java
  • XMLHttpRequest ajax 随笔

    原生ajax 请求:

    function loadXMLDoc() {
        var xhr;
        var myJson = "";
        var html = "";
        if (window.XMLHttpRequest) {
            xhr = new XMLHttpRequest();
        } else {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4 && xhr.status == 200) {
                myJson = xhr.responseText;
                // var my = eval('(' + myJson + ')');
                var my = JSON.parse(myJson);
                for (var i = 0; i < my.myData.sites.length; i++) {
                    html += "<p>" + my.myData.sites[i].name + my.myData.sites[i].url + "</p>";
                }
                document.getElementById('myDiv').innerHTML = html;
            }
        }
        xhr.open("GET", 'js/myData.json', true);
        xhr.send();
    }

    //jQuery插件支持的转换方式

    $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

    浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

    JSON.parse(jsonstr); //可以将json字符串转换成json对象
    JSON.stringify(jsonobj); //可以将json对象转换成json对符串

    Javascript支持的转换方式

    eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
    注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

    jquery ajax 请求:

    $(document).ready(function() {
        var myBtn = $("#myBtn");

        myBtn.on('click', function(data) {
            $.ajax({
                url: 'js/myData.json',
                type: 'GET',
                dataType: 'json',
                data: {},
                beforeSend: function() {
                    $("#loading").show();
                },
                success: function(data) {
                    var json = eval(data.myData);
                    var html = "";
                    $.each(json, function(index, val) {
                        console.log(index);
                        for (var i = 0; i < val.length; i++) {
                            html += "<p>" + val[i].name + val[i].url + "</p>";
                        }
                    });

                    $('.myContent').html(html);
                },
                complete: function() {
                    $("#loading").hide();
                },
                error: function(json) {
                    alert("加载失败");
                }
            });
        });
    });


    // myData.json

    {
        "myData": {
            "sites": [{
                "name": "菜鸟教程",
                "url": "www.runoob.com"
            }, {
                "name": "google",
                "url": "www.google.com"
            }, {
                "name": "微博",
                "url": "www.weibo.com"
            }]
        }
    }

     http://blog.csdn.net/zhoucheng05_13/article/details/53609952

  • 相关阅读:
    雪花算法解决的问题
    ServiceStack6000次限制破解
    电商 详情页面 nginx 配置 优先请求静态页,若没有请求动态页,同时生成静态页
    docker 使用汇总
    .net 5 新特性 -- EFCoreDBFirst 介绍 和 .NET5 AOP 5个Filter
    模板方法设计模式:定义抽象类-模板:定义业务流程,执行步骤--》各业务类继承抽象类,实现各自不同 具体的执行步骤
    通过代理模式(包一层),实现对业务增加功能如日志,异常处理,缓存结果,到达不破坏原有的业务代码,扩展了功能
    设计模式
    mongodb 基本操作(增删改查),事务,数据失效机制
    log4net.Config
  • 原文地址:https://www.cnblogs.com/Alan2016/p/6600105.html
Copyright © 2011-2022 走看看