zoukankan      html  css  js  c++  java
  • 介绍一下ajax后最好的返回结果的方式"Json"

    我使用ajax好多年了,以往把请求交给asp或php处理完成之后往往是输出一个字符串,然后把这个字符串返回给客户端,用客户端的javascript对该字符串进行split.

    偶尔也用xml,服务器端处理完之后生成xml再返回.

    但是这些方式在客户端处理的时候都很麻烦.其实完全可以用json来做.因为json在客户端操作的时候感觉最灵活,看我下边的代码:

    假如这个字符串是我从服务器端处理完各种操作之后输出给客户端的内容,从表面上看,这不过就是一个字符串,但是他却遵循了json的格式规定.如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人QQ9256114

    '[{"name":"王强","age":20},{"name":"王海云","age":18}]'

    我在客户端使用一个js变量来接收这个字符串
    var str = '[{"name":"王强","age":20},{"name":"王海云","age":18}]';
    然后把这个字符串转化成json
    var JsonL=eval("("+str+")");//或var JsonL=new Function("return"+str)();

    //转化后应该是:JsonL= [{"name":"王强","age":20},{"name":"王海云","age":18}];

    //由此不难看出这个结构很像array,所以我们可以使用操作array的思路来操作该json
    接下来就可以控制json内的元素输出了.
    alert(JsonL[1].name);
    for(var i=0;i<JsonL.length;i++){
        for(var key in JsonL[i]){
            alert("key:"+key+",value:"+JsonL[i][key]);
        }
    }

    下边是一个比较复杂的json例子:
    var JsonL=[
        {"parent":1,"id":11,"tit":"a1","lst":["9|a11","7|a12","5|a13","4|a14","2|a15"]},
        {"parent":2,"id":12,"tit":"a2","lst":["9|a11","7|a12","5|a13","4|a14"]},
        {"parent":3,"id":13,"tit":"a3","lst":["9|a11","7|a12","5|a13"]},
    ];
    alert(JsonL[0].id);
    alert(JsonL.length);
    alert(JsonL[0].lst.length);
    alert(JsonL[1].parent);

    //全部输出:
    for(var i=0;i<JsonL.length;i++){
        for(var key in JsonL[i]){
            alert("鍵名:"+key+",值:"+JsonL[i][key]);
        }
    }

    //部分输出:
    for(var i=0;i<JsonL[0].lst.length;i++){
        alert("值:"+JsonL[0].lst[i]);
    }

  • 相关阅读:
    深入了解Java ClassLoader、Bytecode 、ASM、cglib (I)
    如何在ant里import
    敏捷练习(1)评估我的生活方向盘
    你是一个合格的孩子吗?
    [转] C# 路径(目录)
    XML学习记录
    js学习总结不断更新(1)
    LINQ TO XML练习
    做技术,切不可沉湎于技术
    js学习总结持续更新(2)
  • 原文地址:https://www.cnblogs.com/see7di/p/2239807.html
Copyright © 2011-2022 走看看