最近發現Microsoft.XMLHTTP很好用。
想在Delphi中實現一個案頭的用戶端應用,使用MS XML4.0中的XMLHTTP4.0來實現xml的http通訊。
可惜,在Javascript中的非同步模式居然在Delphi中實現不了。。唉,鬱悶啊
MSDN中的說明:
Note that onreadystatechange is designed for use in scripting environments
and is not readily accessible in Microsoft Visual Basic or C++.
看一個JavaScript中的執行個體,真是很flexbility
var gThreadRequest=null;
var gRequestXML='<xml>...';
function AsyncDataExchg()
{
if (gThreadRequest == null)
AsyncRequest ("http://...", gRequestXML);
}
function AsyncRequest (url, xmlstr)
{
gThreadRequest = new ActiveXObject("Microsoft.XMLHTTP");
gThreadRequest.Open("POST", url, true);
gThreadRequest.onreadystatechange = handleChange;
gThreadRequest.Send (xmlstr);
}
function handleChange ()
{
if (gThreadRequest!= null && gThreadRequest.readyState == 4)
var xmlret = gThreadRequest.responseText;
// do something...
gThreadRequest = null;
}
}