下面是json.php echo出來的內容
var productjson = ,,]
};如果使用了jquery的話。 跨域問題就更容易解決了。
$.getjson(
"a.php?callback=?",
function(data)
);
在此必須要用 callback=? 進行跨域呼叫,jquery會返回乙個jsonp的返回值代替『?』,實際上傳遞給後台指令碼的應該是類似『&callback=jsonp12126279』。所以需要在後台指令碼中截獲callback的引數,然後加在原先的json前。(可以理解成是一次驗證過程)。
php:
$callback
=$_get
['callback'];
echo
$callback
.'('
.json_encode(
array
(key1=>value1,key2=>value2)).
')'; //需要注意格式
這樣返回的就是』jsonp12126279』
關於ajax跨域問題
本文通過設定 access control allow origin來實現跨域。例如 客戶端的網域名稱是client.w3cschool.cn,而請求的網域名稱是server.w3cschool.cn。如果直接使用ajax訪問,會有以下錯誤 xmlhttprequest cannot load no...
關於ajax的跨域請求問題
瀏覽器有乙個同源策略,不同的瀏覽只能讀取自己的cookie,所謂同源是指,網域名稱,協議,和埠都必須一樣,有乙個不一樣就會出現 對於跨域問題,jsonp的方法,只能接收get方式,對於post方式也是無能為力.比較舒服的辦法就是 伺服器允許跨域 在響應頭中加上eader資訊 允許所有網域名稱進行訪問...
ajax跨域問題
ajax跨域和js的跨域通訊 cross the site 的幾種解決方案 1.什麼引起了ajax跨域不能的問題 ajax本身實際上是通過xmlhttprequest物件來進行資料的互動,而瀏覽器出於安全考慮,不允許js 進行跨域操作,所以會警告。2.有什麼完美的解決方案麼?沒有。解決方案有不少,但...