请问我每隔1秒就要用XMLHTTP的SEND提交到一个叫XMLHTTP。ASP的文件,让它把最新的数据取出来,该怎么做

TGITCIC
Java领域优质创作者
博客专家认证
2003-06-08 11:06:05
我是这么做的

<script language=javascript>
function xmlpost()
{
//document.body.innerHTML='';
var pc=0;
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
var xmldoc=new ActiveXObject("Msxml2.DOMDocument");
xmlhttp.open("get","xmlhttp.asp",false);
xmlhttp.send();
//xmlhttp.send("<stations><value>33.32</value></stations>");
if (xmlhttp.status != 200)
alert(xmlhttp.statusText);
else
{
//showit.innerHTML=xmlhttp.responseText;
var returnvalue=xmlhttp.responseXML.xml
}
xmldoc.loadXML(returnvalue);
node = xmldoc.selectNodes("//stations/count");
var stationcount=parseInt(node.item(0).text);
var i=0;
document.write("<table border='1'><tr><td>站点名</td><td>数值</td></tr>");
for(i=1;i<=stationcount;i++)
{
node=xmldoc.selectNodes("//stations/station"+i+"/name");
var name=node.item(0).text
node=xmldoc.selectNodes("//stations/station"+i+"/value");
var value=node.item(0).text
document.write("<tr><td>"+name+"</td><td>"+value+"</td></tr>")
}
document.write("</table>");
window.setTimeout("xmlpost",1000);
}
</script>

xmlhttp.asp文件如下
<%
Dim xmldom
Set xmldom = Server.CreateObject("Msxml2.DOMDocument")
Response.ContentType = "text/xml"
Response.CharSet = "GB2312"
xmldom.loadXML("<stations><count>2</count><station1><name>a</name><value>33.23</value></station1><station2><name>b</name><value>22.13</value></station2></stations>")
xmldom.save(Response)
%>

可是它就在页面载入的第一次取一下数据,而不是每隔1秒就去取一下数据,为什么,怎么用SETTIMEOUT使XMLHTTP不断的往后台发送并取出新的数据??
...全文
53 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
summer419 2003-06-09
  • 打赏
  • 举报
回复
楼上的都没错,:)
fason 2003-06-08
  • 打赏
  • 举报
回复
try:
window.setTimeout("xmlpost()",1000);
or window.setTimeout(xmlpost,1000);
主  题: 在VC中使用XMLHTTP,怎样初始化,怎样建立连接?在线等。 我的一段代码在.NET中用C#已经调通,我想搬到VC++ 6.0上,但不知道任何各种写法规则。 C# 中为: MSXML2.XMLHTTP xmlHttp_ = new XMLHTTP(); xmlHttp_.open("PROPFIND", serverUrl, false, username, password); xmlHttp_.send(null); 放到VC++ 6.0 中应为什么? 以下是我写的,但运行出错。 #import "msxml4.dll" using namespace MSXML2; HRESULT hr; //MSXML2::IXMLHTTPRequest pIXMLHttpRequest; CString serverUrl ="http://services.msn.com/svcs/hotmail/httpmail.asp"; MSXML2::IXMLHTTPRequestPtr pIXMLHttpRequest; pIXMLHttpRequest.CreateInstance("Msxml2.XMLHTTP.4.0"); if (pIXMLHttpRequest==NULL) AfxMessageBox("pIXMLHttpRequest error"); try { // Create XMLHttpRequest object and initialize pIXMLHttpRequest. hr = pIXMLHttpRequest->open(_bstr_t(_T("PROPFIND")), _bstr_t(_T(serverUrl)), _variant_t(VARIANT_FALSE), _variant_t("test5_12"), _variant_t("1234567")); if(SUCCEEDED(hr)) ::MessageBox(NULL, _T("Success !"), _T(""), MB_OK); } catch(...) { //DisplayErrorToUser(); AfxMessageBox("error"); } 在调用方法open的时候出错! 回复人: masterz(www.fruitfruit.com) ( ) 信誉:273 2003-06-10 21:34:02Z 得分:20 ? #import "msxml.dll" #import "msxml2.dll" using namespace MSXML2; int main(int argc, char* argv[]) { printf("Test of XMLHTTP by masterz!\n"); CoInitialize(NULL); try { IXMLHTTPRequestPtr xmlrequest; xmlrequest.CreateInstance("Msxml2.XMLHTTP"); _variant_t varp(false); xmlrequest->open(_bstr_t("GET"),_bstr_t("http://www.csdn.net/expert/topic/855/855052.xml?temp=.176037"),varp); xmlrequest->send(); BSTR bstrbody; xmlrequest->get_responseText(&bstrbody); _bstr_t bstrtbody(bstrbody); printf("%s\n",(LPCTSTR)bstrtbody); } catch (_com_error &e) { printf("Description = '%s'\n", (char*) e.Description()); } CoUninitialize(); printf("program end\n"); return 0; } ///////Post with XMLHTTP/////////////////////// #import "msxml.dll" #import "msxml2.dll" #include "Atlbase.h" using namespace MSXML2; int main(int argc, char* argv[]) { printf("Test of XMLHTTP by masterz!\n"); CoInitialize(NULL); try { IXMLHTTPRequestPtr xmlrequest; //xmlrequest.CreateInstance("Msxml2.XMLHTTP"); xmlrequest.CreateInstance(__uuidof(XMLHTTP)); CComVariant vFalse(FALSE); CComVariant vNull(NULL); xmlrequest->open("POST", _bstr_t("http://211.157.102.21/member/logon.asp"),vFalse,vNull,vNull); xmlrequest->setRequestHeader("Content-Type:","application/x-www-form-urlencoded"); _bstr_t bsdata("name=xxx&pass=xxx&type=1");//use your login name and password xmlrequest->send(_variant_t(bsdata)); BSTR bstrbody; xmlrequest->get_responseText(&bstrbody); _bstr_t bstrtbody(bstrbody); printf("%s\n",(LPCTSTR)bstrtbody); //MessageBox(0,bstrtbody,"",MB_OK); } catch (_com_error &e) { printf("Description = '%s'\n", (char*) e.Description()); } CoUninitialize(); printf("program end\n"); return 0; }
一个文件ajax_txt.asp的代码: (此页是AJAX异步提交txt文本文件的路径到ajax_txt_save.asp页面,并从ajax_txt_save.asp获取返回的数据) http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> xmlns="http://www.w3.org/1999/xhtml"> http-equiv="Content-Type" content="text/html; charset=gb2312" /> 无标题文档 <script type="text/javascript">

JS读取文本文件的内容并赋值给textarea控件





已导入:0 条记录


第二个文件ajax_txt_save.asp的代码: (此页是用ASP中的FSO来读取txt文本文件中的内容并输出,为ajax_txt.asp这个页面的AJAX异步获取提供数据) <% '//禁止缓存该页 让AJAX读取该页始终为最新而非过期缓存页 Response.Expires = 0 Response.Expiresabsolute = Now() - 1 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "no-cache" response.Charset="GB2312" '//数据返回的编码类型 显示中文数据必须 Dim objFSO Dim objText Dim ObjFile Dim strTextContent Dim objDrive '创建一个文件操作对象实例 Set objFSO = CreateObject("Scripting.FileSystemObject") '要打开的文件 ObjFile=trim(request("filesname")) '从文浏览控件中获取 IF objFSO.FileExists(ObjFile) then Set objText = objFSO.OpenTextFile(ObjFile,1) '循环读取数据 k=0 While not objText.AtEndOfStream '到文件的末尾 strTextContent = strTextContent & objText.ReadLine() & vbcrlf k=k+1 wend objText.Close response.write strTextContent & "," & k else strTextContent= "文件不存在" response.end() end if %> 以上代码经测试,100%能使用,且不受浏览器的安全级别限制,祝你好运!

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧