小鱼儿外贸建站,亚星网站代理,一键免费建立网站,wordpress添加继续阅读post方式发送请求要首先设置请求头(参数设置为ajax.setRequestHeader(content-type,application/x-www-form-urlencoded)--send中放入要发送的参数(keyvaluekeyvalue)--发送数据(ajax.send(context))当xml作为载体的时候servlet中声明发送…post方式发送请求要首先设置请求头(参数设置为ajax.setRequestHeader(content-type,application/x-www-form-urlencoded)--send中放入要发送的参数(keyvaluekeyvalue)--发送数据(ajax.send(context))当xml作为载体的时候servlet中声明发送的格式为xmlresponse.setContextType(text/xml;charsetutf-8);//定位button按钮同时添加单击事件document.getElementsByTagName(input)[0].onclick function(){//NO1)创建AJAX异步对象(每个浏览器内置的无需第三方jar包)var ajax createAJAX();//0//NO2)AJAX异步对象准备发送请求var url ${pageContext.request.contextPath}/TimeServletAjax?idnew Date().getTime();var method GET;ajax.open(method,url);//1//NO3)AJAX异步对象真正发送请求体的数据到服务器如果请求体无数据的话用null表示var content null;ajax.send(content);//2//----------------------------------------等待//NO4)AJAX异步对象不断监听服务端状态的变化只有状态码变化了方可触发函数//0-1-2-3-4,这些是可以触发函数的//4-4-4-4-4这些是不可以触发函数的//以下这个函数是服务器来触发的不是程序员触发的这和onclick是不一样的ajax.onreadystatechange function(){//如果AJAX状态码为4if(ajax.readyState 4){//如果服务器响应码是200if(ajax.status 200){//NO5)从AJAX异步对象中获取服务器响应的结果var str ajax.responseText;//NO6)按照DOM规则将结果动态添加到web页面指向的标签中document.getElementsByTagName(span)[0].innerHTML str;}}}}public class TimeServletAjax extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String str sdf.format(new Date());//注意在Web2.0时代即异步方式下不能用转发或重定向//因为转发或重定向会引起浏览器全部刷新而不是局部刷新//所以得用以输出流的方式将服务器的结果输出到浏览器response.setContentType(text/html;charsetUTF-8);PrintWriter pw response.getWriter();pw.write(str);pw.flush();pw.close();}}XMLHttpRequest(即AJAX)对象常用事件方法和属性(1)事件ajax.onreadystatechange表示AJAX异步对象不断监听服务端的响应是由服务器程序触发不是程序员触发(2)属性ajax.readyState0表示AJAX异步对象已创建好但还没有调用open()方法ajax.readyState1表示AJAX异步对象已调用open()方法但还没有调用send()方法ajax.readyState2表示AJAX异步对象已调用send()方法但请求还没有到达服务器端ajax.readyState3表示服务端已接收到AJAX异步对象的请求正在处理响应中。。。ajax.readyState【4】表示AJAX异步对象已经完完全全接收到了服务器的响应信 息但接收到的数据不一定都正确上述5种状态不是所有浏览器都相同但状态4每种浏览器都相同ajax.status200表示AJAX异步对象接收到响应码如果是200的话表示一切正常ajax.responseText表示从AJAX异步对象中获取HTML载体中的数据ajax.responseXML表示从AJAX异步对象中获取XML载体中的数据