2010-04-05 72 views
1

我試圖從PHP的Web服務在JavaScript中的http響應,但在Firefox和Chrome中得到空。 PLZ告訴我,我在這裏做的錯誤是我的代碼,問題在獲取Http響應在鉻

function fetch_details() 
{ 
if (window.XMLHttpRequest) 
{ 
    xhttp=new XMLHttpRequest() 
    alert("first"); 
} 
else 
{ 
    xhttp=new ActiveXObject("Microsoft.XMLHTTP") 
    alert("sec"); 
} 
xhttp.open("GET","url.com",false); 
xhttp.send(""); 
xmlDoc=xhttp.responseXML; 
alert(xmlDoc.getElementsByTagName("Inbox")[0].childNodes[0].nodeValue); 
} 

我曾嘗試與阿賈克斯還,但我不是在這裏得到的HTTP響應是我的代碼,請指導我

var xmlhttp = null; 
var url = "url.com"; 
if (window.XMLHttpRequest) 
{ 
    xmlhttp = new XMLHttpRequest(); 
    alert(xmlhttp); //make sure that Browser supports overrideMimeType 
    if (typeof xmlhttp.overrideMimeType != 'undefined') 
    {      
     xmlhttp.overrideMimeType('text/xml'); 
    } 
} 
else if (window.ActiveXObject) 
{ 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
else 
{ 
    alert('Perhaps your browser does not support xmlhttprequests?'); 
} 

xmlhttp.open('GET', url, true); 
xmlhttp.onreadystatechange = function() { 

if (xmlhttp.readyState == 4) 
{ 
    alert(xmlhttp.responseXML); 
} 
}; 

}

//進行實際的請求 xmlhttp.send(null);

我越來越xmlhttp.readyState = 4 xmlhttp.status = 0 xmlhttp.responseText = 「」

PLZ告訴我在哪裏,我在做錯誤

+1

請你談談你的代碼格式。文本字段上方有一個「010101」按鈕,用於將代碼標記爲代碼。即使我爲你點擊它,這個代碼仍然太雜亂,所以這次我不打擾。 – deceze 2010-04-05 06:32:46

+0

您是否在提出跨域請求?這是一個常見的情況下得到的狀態代碼爲0. – Anurag 2010-04-05 07:58:20

回答

0

我無法讀取任何的那但Chrome有一個JavaScript控制檯,可能會告訴你你做錯了什麼。

+0

thanx爲我的回覆,但沒有得到任何錯誤 – Bhaskasr 2010-04-05 06:58:41

+0

我不知道爲什麼得到http.status = 0 – Bhaskasr 2010-04-05 06:59:57

+0

我認爲它的跨域問題 – Bhaskasr 2010-04-05 09:54:05

1

您正在做一個跨域請求。

您只能對同一主機執行xmlhttp請求。

0

這是一個cross-domain問題,解決它的服務器響應頭應該包含"access-control-allow-origin"

如果您的服務器在PHP編碼,標題應該像下面的例子:

<?php 
    header('Content-type: text/html'); 
    header('Access-Control-Allow-Origin: *'); 
    $uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
    echo('<p>This information has come from <a href="' . $uri . '">' . $uri . '</a></p>'); 
?>