實現數據跨域交互

在js和後臺進行數據交互時可能出現跨域的問題。

所謂的跨域是:比如說我的靜態頁面是在域名http://test.xoyo.com下的a.html,但是我的後臺文件是在http://test1.xoyo.com下面的a.php,我需要在將數據在a.html和a.php下進行交互,這樣就涉及到跨域了。

解決跨域的方法我一般採用的是JSONP:

首先,我們在靜態頁面寫入js:

     jQuery.getJSON("http://website/test1/index.php?name=name&pwd=pwd&code=check&callback=?",function(object){        
                    alert(object.object);//返回的數據
              });
    }

其中後面的&callback=?參數必須要帶上的。

其次,在後臺數據輸出時應該這樣:

    $result = array('num'=>6);
    $jsonData =json_encode($result);
    echo $_GET['callback'] . '(' . $jsonData . ');';

其中echo輸出的$_GET['callback'] 是必須加上的。

這樣數據就可以進行交互了。


具體網址可以查看:http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/


發佈了23 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章