Ajax異步請求JSon數(shù)據(jù)(圖文詳解)
上一篇講了Ajax請求數(shù)據(jù)text類型,text和html都是處理比較簡答的數(shù)據(jù),而在編程過程中使用Ajax調用數(shù)據(jù)的時候,難免要進行邏輯的處理,接受的數(shù)據(jù)也變的復雜比如數(shù)組類型的數(shù)據(jù),這時候就需要使用JSON數(shù)據(jù)類型進行處理,今天就說說,JSON數(shù)據(jù)請求過程中的一些細節(jié):
腳本之家友情提醒本文所需工具和原料如下:
wamp或lamp環(huán)境、jquery.js、編輯器
具體方法/步驟請看下面:
1.創(chuàng)建基本的文件結構json_ajax.html和json_ajax.php,下載jquery.js,如圖:

2.如圖分別編寫json_ajax.html和json_ajax.php文件的編碼:


3.分別在w(l)amp環(huán)境下運行json_ajax.html和json_ajax.php,運行結果如圖:
這個運行的結果應該是正常的,理解上沒有困難的,繼續(xù)向下看,如果這里理解困惑,就沒必要在繼續(xù)閱讀的必要了。


4.經(jīng)過源碼和運行結果的分析,知道了在json_ajax.html中設置了按鈕的點擊事件,點擊按鈕,正常的運行結果如下圖;
若沒有正常的顯示,可參考我的《jQuery的Ajax之調試》

5.第4步結果分析:
console.log(data),直接將json_ajax.php返回的結果返回,就是json字符串;
console.log(eval('['+data+']')),這樣做的目的是將json_ajax.php返回的json字符串轉換成對象。
‘對象'在PHP里面是區(qū)別于過程的,但是在JS中,所有的數(shù)據(jù)都是對象,或許現(xiàn)在有點明白了,為什么要將json字符串轉換成對象了;在js中處理對象更方便,就像在PHP中處理數(shù)據(jù)的時候,首先想到的是數(shù)組(array)一樣。
6.細節(jié)總結:
1.php返回的必須是json,即是需要將數(shù)據(jù)用json_encode()處理;
2.ajax接受數(shù)據(jù)之后,需要eval()處理,里面'['+data+']'可以用'('+data+')';
3.console.log()可以使用alert()代替;
4.在此主要是過程思路,一旦接收到data數(shù)據(jù),就可以按需求進行邏輯處理了。
以上通過圖文并茂的方式給大家展示了Ajax異步請求JSon數(shù)據(jù),希望大家喜歡。
相關文章
ajax結合mysql數(shù)據(jù)庫和smarty實現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法
下面小編就為大家分享一篇ajax結合mysql數(shù)據(jù)庫和smarty實現(xiàn)局部數(shù)據(jù)狀態(tài)的刷新方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
利用ajax提交form表單到數(shù)據(jù)庫詳解(無刷新)
這篇文章主要給大家介紹了關于利用ajax提交form表單到數(shù)據(jù)庫(無刷新)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-02-02

