ajax php 跨域處理

在使用ajax進行前後臺交互的時候,經常會遇到到前臺js取不到服務器響應數據的情況,這時候也許你已經跨域了,最常用也是最有效的解決跨域問題的方法就是使用JsonP。 ajax的getJSON 函數。

具體使用方法說明:

前端js

$.getJSON('test.php?action=test&jsoncallback=?&test_id='+test_id,function(data){
	alert(data);
});

用jsoncallback作爲服務器端支持的標準jsonp參數,而每次執行這個方法都會用時間戳生成一個唯一的全局函數名,替換這個“?”,這個細節被封裝到黑盒裏,使用者不必瞭解,可以像普通的ajax請求一樣,用匿名的回調函數作爲最末尾的參數(這是jquery強調的風格);

ajax請求不會更新緩存,用jsoncallback當做一個隨機字符串來解決ajax請求不會更新緩存的問題。

服務器php

function test()
{
……
$testtime= $_GET['jsoncallback'];
echo $testtime.'('.$testtitle.')';
}


如果需要輸出一個數組對象可以使用json處理下,然後前臺進行獲取並處理顯示。


阻止瀏覽器默認的事件(比如<a href=""></a> 默認跳轉等)

e.preventDefault();



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章