多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國(guó)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

json教程

  • 關(guān)于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍歷

    JSON調(diào)用

    JSON轉(zhuǎn)換

    JSON獲取

    JSON字符串

    JSON數(shù)組

    php跨域調(diào)用json的例子

    閱讀 (2424)

    JSON和XML沒(méi)什么太大區(qū)別,不過(guò)JSON有一個(gè)更大范圍的應(yīng)用,那就是,跨域的數(shù)據(jù)調(diào)用。由于安全性問(wèn)題,AJAX不支持跨域調(diào)用,這樣要調(diào)用不同域名下的數(shù)據(jù),很麻煩。下面這個(gè)例子,足以展示php用json如何進(jìn)跨域調(diào)用了。

    index.html

    代碼如下:
    <script type="text/javascript"> 
    function getProfile(str) {  
        var arr = str;  
        document.getElementById('nick').innerHTML = arr.nick;  
    }  
    </script> 
    <body>  <div id="nick"></div></body> 
    <script type="text/javascript" src="http://www.openphp.cn/demo/profile.php"></script>
    被調(diào)文件profile.php

    代碼如下:
    <?php  
    $arr = array(  
        'name' => 'tanteng',  
        'nick' => 'pony',  
        'contact' => array(  
            'email' => 'a@gmail.com',  
            'website' => 'http://aa.sinaapp.com',  
        )  
    );  
    $json_string = json_encode($arr);  
    echo "getProfile($json_string)";  
    ?>

    當(dāng)index.html調(diào)用profile.php時(shí),JSON字符串生成,并作為參數(shù)傳入getProfile,然后將昵稱(chēng)插入到div中,這樣一次跨域數(shù)據(jù)交互就完成了,是不是特別簡(jiǎn)單。


    PHP json格式和js json格式 js跨域調(diào)用實(shí)現(xiàn)代碼

    先看一個(gè)js函數(shù) 
    代碼如下:
    function jsontest() 
    { 
    var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage':'24'}]; 
    alert(json[1].username); 
    
    var json2 = [['crystal','20'],['candy','24']]; 
    alert(json2[0][0]); 
    } 
    這個(gè)函數(shù),第一個(gè)alert(json[1].username); 會(huì)提示 “candy”。 json 變量是一個(gè)數(shù)組對(duì)象。所以要采用 obj.username 這樣的格式來(lái)調(diào)用。 
    第二個(gè) alert(json2[0][0]); 會(huì)提示 “crystal”。 json2變量是完全的一個(gè)json格式。 json和json2變量都達(dá)到了相同的效果,但json2明顯要比json精簡(jiǎn)了很多。 
    這是 JavaScript 的json 格式。 
    下面我們來(lái)看看php中的json格式。 
    還是先看一段代碼 
    代碼如下:
    $arr = array ( 
    array ( 
    'catid' => '4', 
    'catname' => '程程', 
    'meta_title' => '程程博客' 
    ), 
    
    array ( 
    'catid' => '6', 
    'catname' => 'climber', 
    'meta_title' => '攀登者', 
    ) 
    ); 
    $jsonstr = json_encode($arr); 
    echo $jsonstr; 
    
    這段代碼中,$arr是一個(gè)數(shù)組,我們采用 json_encode 將$arr 轉(zhuǎn)換為了 json 格式 。 
    這段代碼會(huì)輸出: 

    [{"catid":"4","catname":"\u7a0b\u7a0b","meta_title":"\u7a0b\u7a0b\u535a\u5ba2"},{"catid":"6","catname":"climber","meta_title":"\u6500\u767b\u8005"}] 
    這就是php對(duì)于json數(shù)據(jù)的處理。 
    對(duì)于json數(shù)據(jù),php 也可以采用 json_decode()函數(shù)將json數(shù)據(jù)轉(zhuǎn)換成 數(shù)組 。 
    比如 上述代碼中,我們采用json_decode函數(shù)處理下。又會(huì)打印出 上面的數(shù)組。 
    $jsonstr = json_encode($arr); 
    $jsonstr = json_decode($jsonstr); 
    print_r($jsonstr); 
    接下來(lái),我們看看,php json數(shù)據(jù)和 js json數(shù)據(jù)如何相互調(diào)用。 

    我們新建一個(gè) php_json.php 文件 

    代碼如下: 
    $arr = array ( 
    array ( 
    'catid' => '4', 
    'catname' => '程程', 
    'meta_title' => '程程博客' 
    ), 
    
    array ( 
    'catid' => '6', 
    'catname' => 'climber', 
    'meta_title' => '攀登者', 
    ) 
    ); 
    $jsonstr = json_encode($arr); 

    -----下面寫(xiě)在php區(qū)間之外----- 
    var jsonstr=< ? = $jsonstr ? >; 

    PS:在php_json.php文件末尾 var jsonstr=< ? = $jsonstr ? >; 這一句。 這是將json格式的數(shù)據(jù)賦值給 jsonstr 變量。 
    我們?cè)俳⒁粋€(gè) json.html 文件 

    代碼如下:
    <SCRIPT type=text/javascript src="php_json.php"></SCRIPT>
    <SCRIPT language=javascript type=text/javascript> 
      function loadjson(_json) 
      { 
        if(_json) 
      { 
        for(var i=0;i<_json.length;i++) 
         { 
           alert(_json[i].catname); 
          } 
       } 
    } 
    loadjson(jsonstr) 
    </SCRIPT> 
    這樣,我們?cè)诓榭?json.html的時(shí)候,loadjson(jsonstr) 就會(huì) 提示 “程程”和“climber” 
    這樣也實(shí)現(xiàn)了js跨域調(diào)用。

      

    關(guān)閉
    程序員人生
    主站蜘蛛池模板: 亚洲成人黄色网址 | 亚洲国产高清一区二区三区 | 午夜精品久久久 | 成人免费一区二区三区 | 久久精品免费全国观看国产 | 国产成人亚洲精品 | 欧美成人性生活视频 | 校园 春色 欧美 另类 小说 | 国产精品大白天新婚身材 | 国产欧美另类久久久精品免费 | 亚洲乱码在线观看 | 亚洲午夜久久久久国产 | 日韩欧美一区二区三区中文精品 | 欧美日本高清一本二本三本 | 欧美成人网在线综合视频 | 国产综合免费视频 | 中文字幕免费观看视频 | 久久精品国产精品2020 | 嫩草影院久久国产精品 | 中文字幕首页 | 中文字幕免费视频精品一 | 久久国产精品免费 | 午夜影视福利 | 第一福利在线 | 福利视频一区 | 91精品免费在线观看 | 日韩一级在线视频 | 国产护士资源总站 | 波多野结衣一区二区在线 | 操人视频免费 | 亚洲欧美视频一区二区 | www.99视频| 亚洲国产欧美日韩一区二区三区 | youjizz久久 | 曰曰碰天天碰国产 | 欧美一欧美一级毛片 | 国产精品成人网 | 国产美女激情 | 中文字幕成人 | 91欧美激情一区二区三区成人 | 日本高清在线观看视频www |