- 论坛徽章:
- 0
|
我刚刚接触ajax,练习写了一个小程序:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>ajax test</title>
- <script type="text/javascript">
- var req = null;
- var console = null;
- var READY_STATE_UNINI=0;
- var READY_STATE_LOADING=1;
- var READY_STATE_LOADED=2;
- var READY_STATE_INIT=3;
- var READY_STATE_COMPLETE=4;
- function sendRequest(url,params,HttpMethod)
- {
- if( !HttpMethod ) {
- HttpMethod = "GET";
- }
- req = initXMLHTTPRequest();
- if(req) {
- var req1=req;
- req.onreadystatechange=onReadyState;
- req.open(HttpMethod,url,true);
- req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- req.send(params);
- }
- }
- function initXMLHTTPRequest()
- {
- var xRequest = null;
- if(window.XMLHttpRequest) {
- xRequest= new XMLHttpRequest();
- } else if (window.ActiveXObject) {
- xRequest = new ActiveXObject("Microsoft.XMLHTTP");
- }
- return xRequest;
- }
- function onReadyState()
- {
- var ready = req.readyState;
- var data = null;
- if(ready == READY_STATE_COMPLETE) {
- data = req.responseText;
- } else {
- data = "loading.....["+ready+"]";
- }
-
- toConsole(data);
- }
- function toConsole(data)
- {
- if(console != null) {
- var newline = document.createElement("div");
- console.appendChild(newline);
- var txt = document.createTextNode(data);
- newline.appendChild(txt);
- }
- }
- function onClick()
- {
- console=document.getElementById('console');
- sendRequest("data.txt");
- return false;
- }
- </script>
- </head>
- <body>
- <div id="console"></div>
- <form id="form1" name="form1" method="post" action="">
- <input type="button" name="Submit" value="submit" onclick="return onClick();"/>
- </form>
- </body>
- </html>
复制代码
运行后可以显示交互的状态和data.txt的文件内容!
但有个问题就是我修改了data.txt文件中的内容后在点击按钮“submit”显示的内容还是data.txt中的内容,只有重新打开一个ie才能再点击按钮“submit”才能显示当前的data.txt中的内容。
我研究了一下可能是
var req = null;
var console = null;
这两个变量是全局变量的问题,我尝试把他们变成局部变量但是失败了!请高手给指点一下我该如何修改!最终实现当我点击“submit”按钮时显示的是当前的data.txt的内容
[ 本帖最后由 zjbluefox 于 2006-8-18 10:11 编辑 ] |
|