嵌入式Linux之我行——C+CGI+Ajax在S3C2440中的应用

2019-07-12 16:18发布

http://blog.chinaunix.net/uid-22174347-id-1786907.html 1,建立文件test.html liuxizhen

获取服务器当前时间

服务器当前时间是:


2,建立js文件xmlhttpreq.js  特别注意其中的在回调函数里有个setTimeout,还设置客户端的更新周期。   /* *创建异步访问对象 */ function createXHR() { var xhr; try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xhr = false; } } if (!xhr && typeof XMLHttpRequest != 'undefined') { xhr = new XMLHttpRequest(); } return xhr; } /* *异步访问提交处理 */ function sender() { xhr = createXHR(); if(xhr) { xhr.onreadystatechange=callbackFunction; //test.cgi后面跟个cur_time参数是为了防止Ajax页面缓存 xhr.open("GET", "test.cgi?cur_time=" + new Date().getTime()); xhr.send(null); } else { //XMLHttpRequest对象创建失败 alert("浏览器不支持,请更换浏览器!"); } } /* *异步回调函数处理 */ function callbackFunction() { if (xhr.readyState == 4) { if (xhr.status == 200) { var returnValue = xhr.responseText; if(returnValue != null && returnValue.length > 0) { document.getElementById("current_time").innerHTML = returnValue; setTimeout(sender, 1000); } else { alert("结果为空!"); } } else { alert("页面出现异常!"); } } } /* setTimeout(sender, 1000); */
3,建立linux下的cgi文件 #include #include #include int main(void) { time_t current; struct tm *timeinfo; time(¤t); timeinfo = localtime(¤t); //这一句一定要加,否则异步访问会出现页面异常 printf("Content type: text/html "); printf("%s", asctime(timeinfo)); } 生成test.cgi的可执行文件。 将test.cgi和html,js文件放在服务器的www目录下。登录服务器查看,时间就是变化的,可以自动更新的。