2012-05-16 57 views
2

我正在考慮編寫一個桌面HTA程序。hta - ajax調用PHP腳本在網絡服務器上

但是,在啓動時,我需要做一個ajax php數據庫調用一個網站,這將需要一個成功的元素回調。

這可能嗎?我需要克服任何交叉瀏覽器問題嗎?防火牆會導致任何問題嗎?

回答

2

可能 - 是的。見下面的代碼。 Crossbrowser不適用於HTA--你總是使用IE渲染引擎。但我認爲你可能意味着跨域問題,這在HTA中也不適用。微軟選擇禁用所有的Javascript跨域保護,因爲HTA(HTML-Application)被視爲不是網頁的應用程序。

防火牆有很多考慮因素,但防火牆不太可能會阻止比HTML AJAX更嚴格的HTA AJAX調用。如果你有一個調用你的PHP頁面的網頁,它可能也會在HTA中工作。祝你好運!

<html><head> 
<script language="javascript" type="text/javascript"> 
var XHR = new ActiveXObject("Msxml2.XMLHTTP"); 
function callAjax(url){ 
    XHR.onreadystatechange=(callback); 
    txtStatus.value += "opening: " + url + "\n"; 
    XHR.open("GET",url,true); //"POST" also works 
    XHR.send(); // XHR.send("name1=value1&name2=value2"); 
} 

function callback(){ 
    if(XHR.readystate == 4) txtStatus.value += "DONE\n" + XHR.responseText; 
} 
</script> 
</head> 
<body onload="callAjax(txtURL.value)"> 
    <textarea id=txtURL style="width:100%" rows=1>http://www.google.com</textarea> 
    <textarea id=txtStatus style="width:100%" rows=20></textarea> 
</body></html> 
相關問題