2011-12-02 103 views
0

我想使用GetXmlHttpObject對象調用一個php文件並且有一些運氣,但似乎與URL變量有問題。GetXmlHttpObject AJAX調用php文件

有什麼我需要做的URL字符串不同?

下面是相關代碼:

remoteCounter('marks');//invoking function 

document.write("<div id=\"marks\"></div>");//destination div 

function GetXmlHttpObject() { 

var xmlHttp = null; 

try { 
    // Firefox, Opera 8.0+, Safari, IE 7+ 
    xmlHttp = new XMLHttpRequest(); 
} catch (e) { 
    // Internet Explorer - old IE - prior to version 7 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
} 

return xmlHttp; 
} 


function remoteCounter(param){ 
counterObj = GetXmlHttpObject(); 

var url="HTTP://dnsname/directory/view.php?" + param; 
alert(url + " " + counterObj); 

counterObj.open("GET", url , true); 
counterObj.onreadystatechange=updateCounter; 
counterObj.send(null); 
} 

function updateCounter(){ 
//alert('updateCounter'); 
    if (counterObj.readyState == 4 || counterObj.readyState == "complete"){ 
     document.getElementById("marks").innerHTML=counterObj.responseText; 
    } 
} 

我可以在的document.getElementById取代counterObj.responseText變量( 「標記」)的innerHTML = counterObj.responseText;

並在源文件中正確地看到測試字符串,所以我知道html和jscript源碼不是問題。

我已經註釋掉了view.php文件中的代碼,只是回顯一個簡單的字符串,但這並不顯示任何 - 這再次讓我覺得問題是在對文件的請求中,而不是在文件中,而不是在來源中。

實際的服務器名稱和目錄已被此帖子的dnsname /目錄替換。包括調試警報。

感謝您的協助。

+1

這不會解決上述問題,但我強烈建議你看看jQuery的這類東西。 – Cyclonecode

+0

最後一次'警報('updateCounter');'有沒有火? – sdleihssirhc

+1

安裝firebug firefox擴展來調試這個。它使用起來非常簡單,並且可以更輕鬆地調試您的問題。使用Firebug Net面板監控ajax請求和響應。你會看到什麼是頭部細節和請求數據的響應。 –

回答

1

更換的兩個第一行順序:

document.write("<div id=\"marks\"></div>"); //destination div 

remoteCounter('marks'); //invoking function 

這是一個與ID 「標記」 necesary declarate div標籤第一。