如何解決ajax跨域的問題

來源:互聯網
上載者:User
ajax|解決|問題|跨域

ajax(動態網站靜態化)伴隨的goole 的推動,越來越多的網站開始使用了,在開大ajax(動態網站靜態化)程式的時候會遇到很多的問題,主要有以下幾個方面:

    1.跨瀏覽器問題
    2.曆史後退狀態問題


    3.跨域問題

    跨瀏覽器的問題因為現在有很多的開元的架構已經解決了,我們無需為此而煩惱。

    曆史後退狀態問題我們可以使用一個數組來儲存曆史紀錄,然後把這些資料村到曆史對象中去,中的也可以解決,並且還有很多的開元架構給與支援,這樣問題就不是很大。

    跨域的問題就不是很好的解決,但是還是有辦法的,一下給出一些基本的解決方案供大家選擇:

    1.使用代理,你可以使用web端的程式編寫代理程式,把所有的ajax(動態網站靜態化)請求的資料進行轉寄,web程式可以使php(做為現在的主流開發語言),jsp(SUN企業級應用的首選),asp等所有的程式設計語言。相信大家對這種方式一定很熟悉,這裡就不詳細的介紹了。
    2.使用iframe的方式來定勢的重新整理葉面,這種方式只是取得資料來顯示,並不能真正的和求得的資料進行互動,轉化成本頁面的動態資料,不是很可取,應用也不是很多,我也忽略不去討論了。
    3.使用apache(Unix平台最流行的WEB伺服器平台)的代理功能,主要就是apache(Unix平台最流行的WEB伺服器平台)的方向代理,或者是url從定向,你也可以把其他的網站直接的掛在自己的網站上,這樣的方式可能會友邦權的問題,多的九部介紹了,有興趣的本有可以自己實踐以下。
    4.使用《script》標籤的方式,這樣的話就可以保正使用真正的ajax(動態網站靜態化)來跨域,並且可以使用返回來的資料,發誓很簡單,在我們的背景程式處理後的到的結果都直接的用javascript 的方式返回,在我們的html中直接的使用返回資料的變數就可以了一個簡單的例子
    我們使用的html葉面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<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(xml(標準化越來越近了));
}
}
function text()
{
get (get.php(做為現在的主流開發語言));
}
//-->
</SCRIPT>
<BODY>
<INPUT TYPE="button" value="CLICK ME" >
</BODY>
/HTML>

    背景程式

get.php(做為現在的主流開發語言)
eche 'var xml(標準化越來越近了) ="asdf";';
    當你點擊按鈕的時候就會去伺服器那去你需要的js,但加在完成後就可以自己的使用變數xml(標準化越來越近了)了,運行代碼後你會得到一個對話方塊顯示asdf;


 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.