我想從另一個頁面獲取一些html代碼並將其插入另一個網站上的頁面。 所以問題是獲得跨域$ .get()調用工作。 但大多數人推薦使用json來解決問題。jquery getjson跨域問題
這是php文件我用
<?php
$arr = array(array("test","this is a string"));
$arr['name'] = "response";
echo $_GET['callback'] . "('" . json_encode($arr) . "')";
?>
這是我使用的功能,它使用jQuery的
function getJson(site, callback){
$.ajax({
url:site,
dataType: 'JSONP',
success:function(json){
callback(json);
},
error:function(){
//handle error
},
});
}
這是我訪問
getJson("http://websitename.com/page.php?callback=?", function(data){
alert(data);
});
警報顯示此字符串
('{"0":["test","this is a string"],"name":"response"}')
我的問題是,我怎麼能訪問數據的變量,就像它是JSON
data.test;
data["test"];
編輯:再次
解決我自己的問題我用
$.parseJSON(data)
實際上,Ajax可以[cross domains](http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing)。 – Malvolio
@malvolio,因爲它不被所有的瀏覽器支持,對我來說,它不算。 – Ariel
* Javascript *不受所有瀏覽器支持。在某個時候,你必須放棄過時版本的錯誤瀏覽器。 – Malvolio