2011-05-04 62 views
0

我看到同樣的問題在這個論壇上問了幾次,我已經應用了建議的答案,但我仍然有問題。這個問題是,當我使用JavaScript調用Web服務時,響應回來爲空,而我成功接收在任何瀏覽器中調用Web服務的數據(一個有效的XML文檔)。使用javascript的Web服務調用沒有返回任何響應XML

這是我在HTML頁面中的JavaScript代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/xml"> 
<title> MY HTML page  </title> 


<script language="JavaScript"> 
function doWebSvce() 
{ 

    if (window.XMLHttpRequest) { 
    xhttp=new XMLHttpRequest(); 

    } 
    else if (window.ActiveXObject) { 
     XObject("Microsoft.XMLHTTP"); 
     xhttp=new ActiveXObject("Microsoft.XMLHTTP"); 

} 

var url = "http://www.webservicex.net/stockquote.asmx/GetQuote?symbol=IBM"; 
xhttp.open("GET", url, true); 
xhttp.onreadystatechange = getData; 
xhttp.send("");  

}//end doWebSvce 

function getData() 
{ 
if (xhttp.readyState == 4) 
{ 

alert("2nd in getData... \r\xhttp.readyState = "+ xhttp.readyState +" \r\n 
     xhttp.status= "+ xhttp.status + 
" \r\n responseXML = "+ xhttp.responseXML + " \r\n responseText= "+ 
     xhttp.responseText); 

    var myXml=xhttp.responseXML; 

    //.... do stuff with myXML variable.... 
} 

警報聲明表示:「在第二次...的getData xhttp.readystate = 4 xhttp.status = 0 xhttp.responseXML =空 responseText =空「

正如我所說的,我可以擊中網址中指出的Web服務,並接收XML文檔沒有問題。

我在兩臺不同的機器上執行了這兩個FireFox和IE中相同的代碼,這給我帶來了同樣的問題,所以我想這個問題要麼是我的代碼,要麼是網站響應我的請求的方式。

任何建議當然讚賞。謝謝你的時間。

回答

2

它看起來像你試圖提出一個跨站點的請求,這就是問題所在。使用XmlHttp不能跨站點請求。