hta - ajax调用webserver上的php脚本

时间:2012-05-16 19:12:22

标签: php ajax database hta

我正在考虑编写一个桌面HTA程序。

然而,在启动时我需要对一个网站进行1 ajax php数据库调用,这需要一个成功的元素回调。

这可能吗?我是否需要克服任何交叉浏览器问题?防火墙会导致任何问题吗?

1 个答案:

答案 0 :(得分:2)

可能 - 是的。见下面的代码。 Crossbrowser不适用于HTA - 您总是使用IE渲染引擎。但我认为您可能意味着跨域问题,这些问题也不适用于HTA。 Microsoft选择禁用所有Javascript跨域保护,因为HTA(HTML应用程序)被视为应用程序而非网页。

防火墙有很多注意事项,但防火墙不太可能比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>