介紹一下ajax後最好的返回結果的方式"Json"

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.