ajax之搜索框关键字提示语:

功能需求:

用户在搜索框中输入关键字,然后搜索框下出现下拉选项,提示关键字的提示语。

用户可以使用鼠标进行提示语的选择,也可以使用键盘的上下键来进行选择。

技术分析:

ajax技术+servlet+jsp+mybatis

功能分析(思路):

1、创建搜索界面(搜索框和提示语div和搜索按钮)

2、给搜索框添加onkeyup事件,键盘弹起时发送ajax请求请求当前用户输入的信息对应的提

示语数据

3、将提示语数据填充到搜索框下的div中

问题:

现在用户在搜索框上单击键盘的任意一个键都会发起ajax请求,请求提示语

数据。

解决:

判断用户单击的键盘的按键符合要求再发请求。

解决:

获取用户按了键盘的哪个键。使用event对象进行按键的键盘码值获取

4、实现使用鼠标选择提示语

5、实现使用键盘的上和下键选择提示语

6、实现鼠标和键盘的联动操作

7、将显示提示语的div进行隐藏,当有提示语的时候显示隐藏的div

完善:

问题1:

只要用户在搜索框中出现键盘点击动作,都会触发键盘事件的执行。而只要数据符合要求,都会发送ajax请求,请求提示语信息。点击一次都发一次。但是其实只需要最后一次进行请求发生即可。

解决1:

使用延迟发送请求。

使用1:

window.setTimeout

问题2:

event对象在火狐浏览器中使用window.event获取不到。

解决2:

在获取浏览器中使用传参的方式给event进行赋值。

使用:参照源码即可

数据库设计:

创建表:(data) 存储了常用的关键字数据

关键字编号:id

关键字数据:title

说明:remark

搜索次数:count(本次省略,一般是用来匹配搜索最多的内容取前面的

添加测试数据:要求前期测试数据为英文单词,后期会补充

SQL语句设计:

查询以用户当前搜索框数据开头的关键字

select * from t_data where title like 'a%'

注意:

测试数据不要太多。

数据库实现:

在数据库中创建表即可,并添加测试数据。

数据库设计代码

create 


页面代码jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>

servlet

package 

service

public 

serviceimpl

public 

mapper

public 

mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lin.mapper.SearchMapper"><select id="selLikeSearch" resultType="com.lin.pojo.SearchData">select * from t_data<where><if test="sd != null and sd != ''"><bind name="sd" value="sd+'%'"/>and title like #{sd}</if></where></select></mapper>

ajax req.getsession() 获取不到_[AJAX] -AJAX,你要学的,都在这儿(案例小剧场-搜索框提示(经典))...相关推荐

  1. Ajax案例-三级联动-搜索框提示语

    01ajax之三级联动案例分析 1.1简答题 根据视频中的讲解,完成以下内容 1.1.1视频中的三级联动案例的功能需求是什么 页面中有三个下拉框选项,分别为省下拉框,市下拉框,区/县下拉框,选择省,则 ...

  2. java ajax搜索框提示,Javaweb-案例练习-2-给搜索框添加提示

    Javaweb-案例练习-2-给搜索框添加提示 凯哥java 凯哥java 给搜索框添加搜索提示功能 这篇来利用Ajax做一个给搜索框添加搜索提示的功能,这个我们在百度首页,搜索框随便输入一个字符,就 ...

  3. js:ajax的get方法实现简单的搜索框提示

    效果演示: 一,使用nodejs搭建后台环境,通过ajax的get方法将文本框中的值,实时传输到后台进行比较,后台返回相应的结果,将结果返回到ul中 1,创建路由 app4.js /*** Creat ...

  4. ajax实现搜索提示源码,Jquery实现搜索框提示功能示例代码

    博客的前某一篇文章中http://www.jb51.net/article/35175.htm写过一个用Ajax来实现一个文本框输入的提示功能.最近在一个管理项目的项目中,使用后发现,真的反应很慢,数 ...

  5. jquery $.ajax post php获取不到_经典的jQuery实现页面公共部分方法,附代码

    首先想到的自然是js来处理了,利用js(jQuery)或ajax从服务器上取回需要的公共页面然后插入页面. 一.使用jqury的load方法填充dom,不写回调函数也是可以的,例如: $(" ...

  6. ajax delete gin 获取不到_《Gin 文档》之路由篇

    路由 路由系统的用于接收请求,并将请求转发给注册的中间件或请求处理器来处理.核心功能如下: 路由系统可根据请求方法,请求路径,和路径参数来识别转发. 可设置一个或多个中间件用于在请求处理器前后,处理特 ...

  7. ajax跨域获取数据后处理,简单实现ajax获取跨域数据

    本文实例为大家分享了ajax获取跨域数据的具体代码,供大家参考,具体内容如下 1.效果图 2.源码 function getData(keyword) { var url="https:// ...

  8. ajax提交不能获取数据,django无法收到ajax的请求数据

    问题描述 本想做一个表单验证来熟悉一下ajax的功能,但是跟着教程敲一样的代码,自己的django却没法接收到页面ajax发送的数据,接收到的全是none,一步步调试过,也发现不了问题,后来自己另起一 ...

  9. java 获取ip地址_老杜带你学Java【第二课】

    上期链接:老杜带你学Java[第一课] 01 写在前面 欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了.(此处应该有掌声???)本专题为<零基础学Java>专 ...

  10. 什么?都2021年了还不会ajax嘛,来这里让您快速学会Ajax

    文章目录 学习网站 Ajax 为什么要学习Ajax Ajax概述及应用场景 Ajax的运行环境 Ajax运行原理 Ajax实现步骤 服务器端响应的数据格式 请求参数格式 获取服务端响应的另一种方式(了 ...

最新文章

  1. 对三层架构的简单改进
  2. vue中textarea标签自适应高度
  3. 云计算技术背后的那些天才程序员:KVM之父Avi Kivity
  4. GitHub标星3.6k | 给AI一张高清照片,分分钟还你3D人体模型
  5. Flink的并行度和Kafka的partition的结合
  6. 修改官方发行openstack镜像的cloud-init登录方式为账号密码登录
  7. UML之用例图箭头方向
  8. 1423 poj Big Number 公式题
  9. 栈和排序---牛客练习赛10--B题
  10. MyBatisPlus的代码生成器
  11. 本项目基于paddlex实现目标检测
  12. 一朵花的组成结构图_请问一朵完整的花由哪几部分组成
  13. 如何低成本,有效地进行企业公众号拉新,获取10万+潜在用户? 黎想
  14. Divisible [数学]同余定理
  15. yarn : 无法加载文件 D:\Development\nvm\node_global\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
  16. Handle Protocol
  17. 实战-数据仓库构建(一)
  18. 基于PyQt5的简易计算器
  19. 全球与中国兽医计算机断层扫描 (CT) 扫描仪市场深度研究分析报告
  20. Python format方法详解|字符串格式化|format

热门文章

  1. 8.网页找不到服务器
  2. 53. Using a Custom Admin URL
  3. 34. 后台模块开发(1)
  4. 软件测试基本功 系列教程
  5. DSAPI Wifi热点的扫描与连接
  6. jxl 导入导出Excel(有模板)
  7. nginx config的多个config配置
  8. (hdu 1568) Fibonacci
  9. Recommended Browsers for Oracle E-Business Suite 11i/R12
  10. 20/23种设计模式---C++实现