2012-05-16 62 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> 
相关问题