我正在嘗試編寫一個小腳本,它可以發送請求並下載json響應。使用XmlHttpRequest未收到回覆
var xmlhttp = false;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
// I tried checking for status but that is always coming 0
document.getElementById("myDiv").innerHTML=xmlhttp.responseText+"a";
}
}*/
var url = 'http://exampleurl.com/[email protected]';
xmlhttp.open('GET',url,true);
xmlhttp.send(null);
現在,如果我用一個文本文件替換URL,它工作正常。然而我的服務器以JSON編碼進行回覆。另外,如果我在瀏覽器中訪問網址,它會顯示我想要的輸出。
但是,當我使用XmlHttpRequest查詢它時,它總是給我一個0的狀態,並有一個空響應(無需解碼)。
是在同一個完成的請求域? – kjy112 2011-02-26 22:23:51
不是,它的跨域。我正在遠程服務器上進行公共API調用。 – Inder 2011-02-26 23:10:48
我更新了我的答案。基本上,您需要將GET請求包裝在服務器上的Web服務中 - 然後使用此請求調用您的服務器,而不是實際的API。 – tpow 2011-02-27 14:09:55