DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> AJAX跨域問題的解決辦法
AJAX跨域問題的解決辦法
編輯:AJAX詳解     

1. 使用中間層過渡的方式:

中間過渡,很明顯,就是在AJax與不同域的服務器進行通訊的中間加一層過渡,這一層過渡可以是PHP、JSP、c++等任何具備網絡通訊功能的語言,由中間層向不同域的服務器進行讀取數據的操作。拿PHP做一個例子,如果需要對不同域的某一個php進行通訊,現在客戶端的XMLhttprequest先query本域的一個PHP,然後由本域的這個PHP去和不同域的PHP進行通訊,然後由本域的PHP輸出response;

2. 使用<script>標簽

這個方法是利用<script>標簽中的src來query一個PHP獲得response,因為<script>標簽的src屬性不存在跨域的問題。

舉個例子來讓大家看得更清楚一點吧:

<script LANGUAGE="Javascript" src="" id="get">
</script>
<script LANGUAGE="Javascript">
<!--
function get(url)
{
var obj = document.getElementById("get");
obj.src = url;
(obj.readStatus == 200)
{
alert(param);
}
}
function query()
{
get(get.PHP);
}
//-->
</script>
<BODY>
<INPUT TYPE="button" value="CLICK ME" onclick="query()">
</BODY>
</Html>

其中get.PHP的代碼是:

<?PHP
echo "var param = 'www.achome.cn'";
?>

最後的運行結果是,當你點擊那個button,它會出現一個內容為”www.achome.cn”的對話框。

這個方法又叫做ajaj或者AJax without xmlHttprequest,把x換成了j,是因為使用了<script>標簽而沒有用到xml和XMLHttprequest的緣故。

怎麼樣,很簡單吧,我看到過很多人不願意去正視ajax所存在的技術瓶頸,其實AJAX更應該是Ajax而不是AJAX,突出第一個A是想強調其實AJax發揚的是一種異步傳輸的方法,而不是具體到底使用了哪種技術。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved