Ajax (Asynchronous javascript xml) 搜索框核心…
2018-06-18 01:55:58来源:未知 阅读 ()
前端
<script type="text/javascript"> $(function(){ $("#tid").keyup(function(){ //获取当前输入 的值 var value=$(this).val(); //偷偷摸摸发起请求 var url="${pageContext.request.contextPath }/like" var params="name="+value; //先清空下方div $("#did").empty(); $("#did").hide(); if(value){ //有输入值才发请求 $.post(url,params,function(data){ /* $.each(data,function(index,element){ var content=element.name; var div="<div onmouseover='m1(this)' onmouseout='m2(this)' onclick='m3(this)' style='text-align:left;' >"+content+"</div>"; $("#did").append(div); }); $("#did").show() */ $(data).each(function(index,element){ alert(element.name); var div="<div style='text-align:left' onmouseover='m1(this)' onmouseout='m2(this)' onclick='m3(this)'>"+element.name+"</div>"; $("#did").append(div); }) $("#did").show(); },"json") } }) }) function m1(obj){ //修改css样式 $(obj).css("background-color","#ccc"); } function m2(obj){ $(obj).css("background-color","white"); } function m3(obj){ //选中 把自己添加到输入框中 var text=$(obj).text(); $("#tid").val(text); $("#did").empty(); $("#did").hide(); } </script>
后端返回给前端的内容在$.post这个Ajax请求的第三个参数function(data)的data中
data的数据交换格式是json
json有数组[value,value ]和对象{"key":value,"key":value }两种形式 其中value可以为任意类型,所以就出现了各种千变万化的组合,解析的时候看外层 (使用json-lib jar包)
后端
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // 编码 response.setContentType("text/html;charset=utf-8"); // 获取name参数 String name = request.getParameter("name"); // 调用service查询相关 List<KeyWord> keys = new KeyWordservice().findByName(name); // 写回去给你 for (KeyWord key : keys) { System.out.println(key); } JSONArray key_json = JSONArray.fromObject(keys); System.out.println(key_json); response.getWriter().print(key_json.toString()); } catch (SQLException e) { e.printStackTrace(); response.getWriter().print(""); } }
Ajax判断用户名存在核心代码(使用JQuery)
<script> //页面加载 $(function(){ $("#errorId").hide(); $("#successId").hide(); $("#username").blur(function(){ $("#errorId").hide(); $("#successId").hide(); //获得值 var username = $("#username").val(); if(username){ //ajax访问服务器 $.get("${pageContext.request.contextPath}/CheckUserNameServlet","username="+username,function(data){ if(data>0){ //失败 $("#errorId").show(); $("#successId").hide(); }else{ //成功 $("#errorId").hide(); $("#successId").show(); } }); } }); }) </script>
<div class="form-group"> <label for="username" class="col-sm-2 control-label">用户名</label> <div class="col-sm-6"> <input type="text" class="form-control" id="username" name="username" placeholder="请输入用户名"> </div> <div class="col-sm-4"> <span id="successId" class="label label-success">用户名可用</span> <span id="errorId" class="label label-danger">用户名不可用</span> </div> </div>
附:原生js的Ajax代码
<input type="button" onclick="sendGet()" value="请求"/> <br/> <script type="text/javascript"> function sendGet(){ //1 获得ajax引擎 var xmlhttp=null; // 谷歌、火狐、IE最新浏览器 if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }else if (window.ActiveXObject){ //IE老版本浏览器(IE6、7、8 等) xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //2 设置回调函数 xmlhttp.onreadystatechange = function(){ alert(xmlhttp.readyState); if(xmlhttp.readyState == 4){ if(xmlhttp.status == 200){ alert("响应数据" + xmlhttp.responseText); } } }; //3 确定请求方式、路径及参数 /* xmlhttp.open("GET","/2level_daan/hello?username=jack&password=1234"); */ xmlhttp.open("POST","/2level_daan/hello"); //4 设置请求编码 xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded");//get 不需要 //4 发送请求 /* xmlhttp.send(null); */ xmlhttp.send("username=杰克&password=1234"); } </script>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 书籍分享《JavaScript高级程序设计》高清DPF版 2020-05-18
- AJAX 请求真的不安全么? 2020-04-20
- Java中使用JavaScript脚本 2020-03-30
- 这一次,彻底弄懂 JavaScript 执行机制 2020-03-24
- Struts2 处理AJAX请求 2019-12-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash