ajax 仿百度搜索框,Ajax以及类似百度搜索框的demo

public class Ajax01 extends HttpServlet{

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

PrintWriter out = response.getWriter();

JSONObject jo = new JSONObject();

jo.put("mingzi", "chenchunqiu");

jo.put("age", 33);

out.print(jo);//把信息发送到前台,便于前台ajax对象XMLHttpRequest的resonpseText属性获取到jsonStr,即获取到json字符串

out.close();

}

}

function loadInfo(){

//步骤1.获取xml对象

var xhr ;//new XMLHttpRequest();

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

}else{

xhr=new ActiveXObject("Microsoft.XMLHTTP");

}

//发送请求

xhr.open("get", "getAjax01", true);

xhr.onreadystatechange=function(){

if(xhr.readyState==4){

alert(xhr.responseText);//xhr.responseText()获取的是json字符串

//JSON.stringify(jsonobj); //可以将json对象转换成json对符串

var jsonObj = eval('(' + xhr.responseText + ')');//可以将json字符串转换成json对象,注意需要在json字符

//外包裹一对小括号,JSON.parse(jsonstr);这种方式也可以把json字符串转换成json对象。因为下面要

//用的.age这种.属性的方式访问属性值,所以需要转换成json对象。

alert("姓名:"+jsonObj.mingzi);

alert("年龄:"+jsonObj.age);

}

}

xhr.send(null);

}

扩展,类似百度搜索框风格的ajax实现。

百度搜索框绑定的js事件:onkeyup()事件。

function getXhr(){

var xhr;

if(window.XMLHttpRequest){

xhr = new XMLHttpRequest();

}else {

//ie浏览器

xhr = new ActiveXObject("Microsoft.XMLHttp");

}

return xhr;

}

/*

1.录入搜索内容

2.js中得到值,然后ajax中发送,service中进行查询,然后返回jsonStr,

3.ajax中转换为jsonObj,得到jsonObj的值。

*/

function doSearch(){

var xhr = getXhr();

var sousuo = document.getElementById("sousuo").value;//获取输入框的值

xhr.open("get","getSearch?sousuoValue="+sousuo+"",true);

xhr.onreadystatechange=function(){

if(xhr.readyState==4){

var jsonStr = xhr.responseText;

//var jsonObj = JSON.parse(jsonStr);这种方式在ie中不支持,chrome中可以正常使用

var jsonObj = eval('(' + jsonStr + ')');//这种转换方式在ie11,chrome中都可以正常使用。

//eval('(' + jsonstr + ')');

var keyValue = jsonObj.keyValue;//获取json对象的keyValue,属性。

//alert("keyValue:"+keyValue);

document.getElementById("sousuoFhz").value = keyValue;

document.getElementById("sousuo").focus();//使搜索框获得焦点

}

}

xhr.send(null);

}

失去焦点值:

userName:

password:

Java代码:

public class GetSearch extends HttpServlet{

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// TODO Auto-generated method stub

response.setCharacterEncoding("utf-8");

System.out.println("开始了。。。");

PrintWriter out = response.getWriter();

JSONObject jsonObj = new JSONObject();

//jsonObj.put("", value)

String sousuoValue = request.getParameter("sousuoValue");

DBUtil util = new DBUtil();

Connection conn= util.getConnection2();

PreparedStatement prep = null;

ResultSet rst = null;

String aac003 = "";

try {

prep = conn.prepareStatement("select aac003 from ac01 where aac002 like '%"+sousuoValue+"%'");

rst = prep.executeQuery();

if(rst.next()){

aac003 = rst.getString("aac003");

System.out.println("姓名:"+aac003);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("获取prep失败");

}

jsonObj.put("keyValue", aac003);

out.print(jsonObj);//向前台传递后台获取到的值

try {

rst.close();

prep.close();

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

DBUtil代码

/**

* 返回一个Connection,非空

* add by weiyongle 0113

* @return

*/

public Connection getConnection2(){

String driverName = "oracle.jdbc.driver.OracleDriver";

String url = "jdbc:oracle:thin:@10.162.128.131:1521/ybrsjhk";

String username = "dgsbkf_ggyw";

String pwd = "aa";

try {

Class.forName(driverName);

conn = DriverManager.getConnection(url,username,pwd);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

web.xml代码

getSearch

com.java1234.web.GetSearch

getSearch

/getSearch

效果如下:界面很垃圾。

a05004ee7f528ef01851492aa8303818.png

JavaScript实现模糊推荐的input框(类似百度搜索框)

如何用JS实现一个类似百度搜索框的输入框呢,再填充完失去焦点时,自动填充配置项,最终效果如下图: 实现很简单,但是易用性会上升一大截,需要用到的有jquery-ui的autocomplete,jque ...

使用DWR实现自动补全 类似百度搜索框的自动显示效果

使用DWR实现自动补全 自动补全:是指用户在文本框中输入前几个字母或汉字的时候,自动在存放数据的文件或数据库中将所有以这些字母或汉字开头的数据提示给用户供用户选择 在日常上网过程中,我们经常使用搜索引 ...

Ajax跨域:Jsonp实例--百度搜索框下拉提示

Ajax跨域:Jsonp实例--百度搜索框下拉提示 一.总结 一句话总结:a.找好接口:b.用script标签的src引入文件(json数据):c.定义及实现上一步引入文件中的函数 1.如何找到一个网 ...

js/jQuery实现类似百度搜索功能

一.页面代码:tf-8&q ...

React实现最完整的百度搜索框

import React,{Component} from 'react' import ReactDOM,{render} from 'react-dom' import 'bootstrap/di ...

window系统谷歌浏览器百度搜索框光标不能输入并且不显示光标----自制bug以及解决

--------------------bug无处不在------------------------- 今天在搞代码的时候,保存文件无意中犯了个致命错误,文件名称写入非法字符,可能与Windows系 ...

JS---DOM---案例:模拟百度搜索框

模拟百度搜索框 我的思路整理: 1. 注册文本框抬起事件(onkeyup) 2. 处理函数: --->创建临时数组,循环遍历文本框键入的文字内容和keywords数组,用keyWords[i]. ...

vue 使用watch监听实现类似百度搜索功能

watch监听方法,watch可以监听多个变量,具体使用方法看代码: HTML: < ...

随机推荐

Asp&period;Net Web API 2第七课——Web API异常处理

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来讲解Asp.Ne ...

&lbrack;原创&rsqb;spring学习笔记:关于springsource-tool-suite插件的安装

1.首先我们得确定自己使用的eclipes的版本,具体方式:打开eclipes > help > About Eclipes > 点击eclipes的logo > 查看ecli ...

PHP 实现下载文件的方法

方法一: header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); ...

iOS之应用内跳转系统设置相关界面

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等.在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个pre ...

Android开发艺术探索(一)——Activity的生命周期和启动模式

Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...

通过OC实现简单的冒泡排序

NSMutableArray *arr = [@["] mutableCopy]; ; i

PHP之运用CI用钩子实现URL权限控制————————【Badboy】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
百度API的图像识别可以使用AJAX实现。具体步骤如下: 1. 在百度AI开放平台注册账号,创建应用并获取API Key和Secret Key。 2. 在HTML中创建一个表单,包含一个上传图片的input和一个提交按钮。 3. 使用JavaScript监听提交按钮的点击事件,获取input中的图片文件。 4. 使用FormData对象将图片文件和API Key等参数打包。 5. 使用AJAX发送POST请求,将打包的数据发送到API接口。 6. 在AJAX成功后的回调函数中,解析返回的JSON数据,并在页面上展示识别结果。 下面是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图像识别</title> </head> <body> <form> <input type="file" id="file"> <button id="submit">提交</button> </form> <div id="result"></div> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $('#submit').click(function() { var file = $('#file')[0].files[0]; var formData = new FormData(); formData.append('image', file); formData.append('access_token', 'YOUR_API_KEY'); formData.append('image_type', 'BASE64'); formData.append('baike_num', 1); $.ajax({ url: 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general', type: 'POST', processData: false, contentType: false, data: formData, success: function(data) { var result = data.result[0]; $('#result').html('识别结果:' + result.keyword + ',置信度:' + result.score); }, error: function(xhr) { $('#result').html('识别失败:' + xhr.statusText); } }); }); </script> </body> </html> ``` 注意替换其中的YOUR_API_KEY为自己的API Key。此外,还需引入jQuery库。以上只是一个简单的示例,实际使用中需要根据具体接口和参数进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值