2012-04-18 135 views
-1
<html> 
<body> 
<script type="text/javascript"> 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
    {// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

    var link = "http://www.utravel.com.hk/mobile-app/news-xml.php?id=3248"; 

xmlhttp.open("GET",link,false); 

xmlhttp.send(); 

xmlDoc=xmlhttp.responseXML; 
var a=xmlhttp.readyState; 


document.write(xmlDoc.getElementsByTagName("content")[0].childNodes[0].nodeValue); 

的XMLHttpRequest打開失敗

爲什麼它說明不了什麼,當我打開它? 如果我將鏈接(作爲.html文件)下載到我的電腦中,它可以正常工作

+2

這可能是因爲相同的來源策略http://en.wikipedia.org/wiki/Same_origin_policy。你確定你是從同一個域名進行ajax呼叫嗎? – antyrat 2012-04-18 09:55:19

回答

3

您可能正在碰到Same Origin Policy

網站上的JavaScript無法讓瀏覽器從其他網站獲取數據並將其暴露給第一個網站上的JavaScript。

+0

我真的不這麼認爲。 如果我更改鏈接到這個 VAR鏈接=「http://www.ubeauty.com.hk/apps/ios/article_content?id=1447」 它再次工作。 – 2012-04-19 01:05:42

+0

@LeoChan - 如果你使用'www.ubeautu.com.hk',它不起作用,但如果你使用'ubeautu.com.hk',那麼它呢?您** **符合相同的原產地規定。 (1)使用** relative ** URIs。 (2)選擇兩個主機名之一作爲規範,並從另一個主機名重定向到它(避免有兩個指向相同內容的URI)。 – Quentin 2012-04-19 06:02:08

+0

如果我有同樣的來源地政策,請同時使用 var link =「http://www.utravel.com.hk/mobile-app/news-xml.php?id=3248」;和var link =「ubeauty.com.hk/apps/ios/article_content?id=1447」不應該有效。 但現在後者工作,但前者不。 – 2012-04-19 06:32:14