Answers
转自 http://blog.csdn.net/seuge/article/de...
1.首先是一个前台页面:
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/ajax/",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>需要刷新的局部内容</h2></div>
<button type="button" onclick="loadXMLDoc()">通过 AJAX 实现局部刷新</button>
</body>
</html>
把改htm放入服务器中。
2.在服务器端实现XMLHttpRequest的请求应答。
为ajax请求专门创建一个handle
int websAjaxHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,
char_t *url, char_t *path, char_t *query)
{
websHeader(wp);
websWrite(wp, T("<body><h2>this is ajax test!</h2>\n"));
websFooter(wp);
websDone(wp, 200);
return 1;
}
注册handle
websUrlHandlerDefine(T("/ajax"), NULL, 0, websAjaxHandler, 0);
这样就实现了局部刷新。
xmlhttp.open("GET","/ajax/",true);
xmlhttp.send();
这是后台数据请求,现在仅是示意,所以没有对ajax请求进行分类,以后可以进行细分比如
xmlhttp.open("GET","/ajax/time",true);
然后响应的在goahead端进行二次判断,作出响应的应答。
超级无敌奖门人
answered 9 years, 10 months ago