解決跨網站XMLHttp請求的一個變通方法

來源:互聯網
上載者:User
xml|解決|請求|網站 使用者在打了IE的最新補丁後,IE預設配置下,使用 XMLHttp 將無法跨網站訪問,比如在 http://community.csdn.net/ 的頁面就無法訪問 http://message.csdn.net/ 的頁面。會報如下錯誤:

---------------------------
錯誤
---------------------------
出現了已耗用時間錯誤。
是否要進行調試?

行: 49
錯誤: 拒絕訪問。
---------------------------
是(Y)   否(N)   
---------------------------

解決方案之一:
原理,使用下面的方式呼叫指令碼,是可以跨網站的:
<script id=message language=javascript src="******************"></script>

於是乎,我們可以用下面的代碼方式實現跨網站的指令碼調用。進而變通的實現 XMLHttp 所無法跨網站的調用。

    var Url = "http://message.csdn.net/ ********":
    var ScriptName = "CheckUserHasNewMessage";

    var head= document.getElementsByTagName("head").item(0);
    var old = document.getElementById(ScriptName);
    if (old)  head.removeChild(old);

    var script = document.createElement("SCRIPT");
    script.src = Url;
    script.defer = true;
    script.type = "text/javascript";
    script.id = ScriptName;
    head.appendChild(script);

這個指令碼要求被呼叫者,返回的是 JS 指令碼。你可以在調用方事先寫一些函數,然後被調用返回這些函數的調用。
以上方法在最前版本的 IE、FireFox  預設設定下均沒問題。

相關關鍵詞:
相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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