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]);
    }

  • 相关阅读:
    poj 3068 Bridge Across Islands
    XidianOJ 1086 Flappy v8
    XidianOJ 1036 分配宝藏
    XidianOJ 1090 爬树的V8
    XidianOJ 1088 AK后的V8
    XidianOJ 1062 Black King Bar
    XidianOJ 1091 看Dota视频的V8
    XidianOJ 1098 突击数论前的xry111
    XidianOJ 1019 自然数的秘密
    XidianOJ 1109 Too Naive
  • 原文地址:https://www.cnblogs.com/see7di/p/2239807.html
Copyright © 2011-2022 走看看