javascript实现ajax
2015-07-30 21:42
573 查看
关键步骤:
1 创建xmlHttpRequest对象;
2 添加回调函数;
3 创建链接;
4 设置请求头信息;
5 发送数据;
注意:xmlHttpServlet为全局变量,在发送数据前不要忘记设置requestHeadder信息。
open("post",url,true)第一个参数为提交方式,也可以为get提交,把参数写在url里;第三个默认也是true,true代表异步请求,false为同步请求;
服务器端:
通过PrintWriter回传信息;
可以在后台拼接json格式字符串,前端同样用responseText接收数据;用eval函数把字符串形式转换成真正json;
result=eval("("+result+")" );
传送给客户端json数据:
服务端代码
客户端回调函数代码(其他相同)
1 创建xmlHttpRequest对象;
2 添加回调函数;
3 创建链接;
4 设置请求头信息;
5 发送数据;
var xmlHttpRequest; function chaj(){ if(f1.name.value==null||f1.name.value==""){ alert("不能为空 "); return false; } if(window.XmlHttpRequest){ xmlHttpRequest=new XmlHttpRequest(); }else{ xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttpRequest.onreadystatechange=callBack; var url="My"; xmlHttpRequest.open("post",url,true); xmlHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlHttpRequest.send("name="+f1.name.value+"&timeStamp="+(new Date()).getTime()); } function callBack(){ if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){ var result=xmlHttpRequest.responseText; result=result.replace(/(^\s*)|(\s*$)/g, ""); alert(result); //alert(result); } }
注意:xmlHttpServlet为全局变量,在发送数据前不要忘记设置requestHeadder信息。
open("post",url,true)第一个参数为提交方式,也可以为get提交,把参数写在url里;第三个默认也是true,true代表异步请求,false为同步请求;
服务器端:
通过PrintWriter回传信息;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name1=request.getParameter("name"); String timeStamp1=request.getParameter("timeStamp"); System.out.println(name1+timeStamp1); PrintWriter out=response.getWriter(); out.print("成功"); out.flush(); out.close(); }
可以在后台拼接json格式字符串,前端同样用responseText接收数据;用eval函数把字符串形式转换成真正json;
result=eval("("+result+")" );
传送给客户端json数据:
服务端代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name1=request.getParameter("name"); // String timeStamp1=request.getParameter("test"); System.out.println(name1); PrintWriter out=response.getWriter(); String str="{\"key1\":\"value1\"}"; System.out.println(str); out.print(str); out.flush(); out.close(); } }
客户端回调函数代码(其他相同)
function callBack(){ if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){ var result=xmlHttpRequest.responseText; result=result.replace(/(^\s*)|(\s*$)/g, ""); var json1=eval("("+result+")"); for(var i in json1){ alert(json1[i]); } } }
相关文章推荐
- js 构造函数
- js对cookie基本使用
- Javascript高级程序设计第六七章
- pjsip在vs2013中编译和使用
- Html JS实现表单验证
- WCF Ajax Json的应用
- WCF Ajax Json的应用
- JS图片自动和可控的轮播切换特效
- 01_js中常用的设计模式
- ASP.NET MV 4000 C - html.beginForm在javascript中获取form信息
- JavaScript跨域总结与解决办法
- [BZOJ1015][JSOI2008]星球大战starwar
- Jsp的基本原理
- json实现部门二级联动
- 利用json从后端取数据
- JavaScript 的同源策略
- JavaScript的类型转换(字符转数字,数字转字符)
- 使用Jsoup库解析HTML、XML或URL链接中的DOM节点
- JSTL中<fmt:bundle >找不到properties文件的原因
- BZOJ 2208 [Jsoi2010]连通数 tarjan缩点+bitset优化DP