新聞中心
下面介紹JSON 方法調(diào)用的使用方法,對(duì)與JSON 方法調(diào)用,相比不能生成文本的JSON 方法調(diào)用,能生成文本的 API 自然更可??;而且,JSON 讓您能夠處理本地 JavaScript 對(duì)象,而無需為如何表示這些對(duì)象多費(fèi)心思。

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、尉犁網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
developerWorks Ajax 資源中心
請(qǐng)?jiān)L問 Ajax 資源中心,這是有關(guān) Ajax 編程模型信息的一站式中心,包括很多文檔、教程、論壇、blog、wiki 和新聞。任何關(guān)于 Ajax 的新信息都能在這里找到。 #t#
XML 也可以提供文本方面的類似益處,但用于將 JavaScript 對(duì)象轉(zhuǎn)換成 XML 的幾個(gè)現(xiàn)有 API 沒有 JSON API 成熟;有時(shí),您必須在創(chuàng)建和處理 JavaScript 對(duì)象時(shí)格外謹(jǐn)慎以確保所進(jìn)行的處理能與所選用的 XML 會(huì)話 API 協(xié)作。但對(duì)于JSON 方法調(diào)用,情況就大不相同:它能處理幾乎所有可能的對(duì)象類型,并會(huì)返回給您一個(gè)非常好的 JSON 數(shù)據(jù)表示。
因此,JSON 的***價(jià)值在于可以將 JavaScript 真的作為 JavaScript 而非數(shù)據(jù)格式語言進(jìn)行處理。您所學(xué)到的所有有關(guān)使用 JavaScript 對(duì)象的技巧都可以應(yīng)用到代碼中,而無需為如何將這些對(duì)象轉(zhuǎn)變成文本而多費(fèi)心思。這之后,可以進(jìn)行如下所示的簡單 JSON 方法調(diào)用:
- String myObjectmyObjectInJSON = myObject.toJSONString();
將 JSON 發(fā)給服務(wù)器并不難,但卻至關(guān)重要,而且還有一些重要的選擇要做。但是,一旦決定使用JSON 方法調(diào)用,所要做的這些選擇就會(huì)十分簡單而且數(shù)量有限,所以您需要考慮和關(guān)注的事情不多。重要的是能夠?qū)?JSON 字符串發(fā)送給服務(wù)器,而且***能做到盡快和盡可能簡單。
將 JSON 數(shù)據(jù)發(fā)給服務(wù)器的最簡單方法是將其轉(zhuǎn)換成文本,然后以名稱/值對(duì)的值的方式進(jìn)行發(fā)送。請(qǐng)務(wù)必注意,JSON 格式的數(shù)據(jù)是相當(dāng)長的一個(gè)對(duì)象,看起來可能會(huì)如清單 1 所示:
- var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin",
- "email": "[email protected]" }, { "firstName": "Jason", "lastName":"Hunter",
- "email": "[email protected]" }, { "firstName": "Elliotte", "lastName":"Harold",
- "email": "[email protected]" } ], "authors": [ { "firstName": "Isaac",
- "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad",
- "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank",
- "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [
- { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
- { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }
如果要以名稱/值對(duì)將其發(fā)送到服務(wù)器端,應(yīng)該如下所示:
- var url = "organizePeople.php?people=" + people.toJSONString();
- xmlHttp.open("GET", url, true);
- xmlHttp.onreadystatechange = updatePage;
- xmlHttp.send(null);
這看起來不錯(cuò),但卻存在一個(gè)問題:在 JSON 方法調(diào)用中會(huì)有空格和各種字符,Web 瀏覽器往往要嘗試對(duì)其繼續(xù)編譯。要確保這些字符不會(huì)在服務(wù)器上(或者在將數(shù)據(jù)發(fā)送給服務(wù)器的過程中)引起混亂,需要在 JavaScript escape() 函數(shù)中做如下添加:
- var url = "organizePeople.php?people=" + escape(people.toJSONString());
- request.open("GET", url, true);
- request.onreadystatechange = updatePage;
- request.send(null);
當(dāng)前題目:使用簡單的JSON 方法調(diào)用進(jìn)行說明調(diào)查
URL地址:http://m.fisionsoft.com.cn/article/djjdpjo.html


咨詢
建站咨詢
