先写一个可以共用的发送Ajax请求的javascript函数,可以提取到公共的js文件中:
function sendAjaxRequest(xmlHttp, url) { xmlHttp.open('get', url, true); xmlHttp.send(null); //当readyState的状态发生改变时触发名字叫做callback的函数 注意该函数在这不能加() xmlHttp.onreadystatechange = callback; }
其中xmlHttp对象和要请求的url在要发起Ajax请求的页面中定义。
xmlHttp的open方法,第一个参数用来指明是get方法还是post方法;第二个参数是请求的url;第三个参数表示是否为异步请求,一般为true。
然后在页面中定义xmlHttp对象和异步请求响应到来时要执行的javascript函数。
<script type="text/javascript"> var xmlHttp = new XMLHttpRequest(); function callback(){ var message = ""; if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { message = xmlHttp.responseText; } else if (xmlHttp.status == 500) { message ="服务器内部错误"; }else if (xmlHttp.status == 404) { message="请求路径错误"; } window.returnValue = 1; window.close(); } } </script>
最后是调用的一个示例:
<input type="button" value="删除" οnclick="sendAjaxRequest(xmlHttp, '/CategoryDelete.html?id=${category.id}');" />