今天对我的“来淘宝了网
”做了一个小小的优化,本身这个网站是有搜索框的,但是经过这段时间的统计结果来看,很多用户并不能很好的使用搜索功能,他们不能很准确的选择关键字,导致他们最终并不能得到自己想要的结果。
当初google提出的这个自动补全功能还是非常经典的,因为大家经常搜索的关键字是相对固定的,对于普通用户这些也就足够了,当然后来淘宝也使用了这个自动补全功能,所以我也想在我的网站上加上这么一个功能。因为我本身没有淘宝的那么多的统计数据,所以说这个关键字的选取我是很难做出统计的。所以我就像直接调用淘宝的数据,然后再我的网站页面进行操作,形成自动补全提示框。
然后我就用jquery的ajax调用做了一个简单的获取数据,跟以前用的调用自己网站的数据方式一样,但是这一次报了这么一个错误,火狐下报错为:Access to restricted URI denied" code: "1012,网上查了一下,原来如果从我的网站向淘宝发送请求时跨域访问,浏览器出于安全考虑是不允许这么做的。但是淘宝对这一方面还是有考虑的,他们允许其他的网站调用他们的自动补全数据,因为他们提供了这么一个接口http://suggest.taobao.com/sug?q=s&code=utf-8&callback=TB.Suggest.callback。我们只需要将callback后面的TB.Suggest.callback换成我们自己的方法,当数据传输回来的时候就会执行我们定义好的方法。
而JQuery正好提供了一个使用该接口的方法,下面是我获取淘宝自动补全数据的方式,
$.ajax({
type : "GET",
url : "http://suggest.taobao.com/sug?code=utf-8&callback=?&q=" + wordText,
dataType : "jsonp",
jsonp: 'callback',
success : function(json){
alert(json);
}
});
这样就可以获取到淘宝自动补全传递过来的数据了,下面剩下的就是利用这些数据构建自己的自动补全提示框了。
演示地址:http://www.laitaobaole.com
,欢迎大家批评指正。。。。
- 大小: 32.9 KB
分享到:
相关推荐
综上所述,PHP+jQuery实现自动补全功能涉及前后端分离的开发模式、select2插件的应用、ajax数据交互、用户交互细节处理以及数据的正确处理与渲染。掌握这些知识点能够帮助开发者构建出更为强大和用户友好的Web应用。
标题提到的"利用jsonp跨域调用百度js实现搜索框智能提示",即利用JSONP技术调用百度提供的API,实现在搜索框中输入关键字时,显示智能提示的功能,类似于百度搜索引擎的自动补全。 **JSONP原理**: JSONP的工作机制...
2. **链式调用**:jQuery方法返回的是jQuery对象,这意味着你可以连续调用多个方法,如`$("p").hide().slideUp()` 3. **DOM操作**:jQuery提供了一套丰富的API来操作DOM,如`append()`、`prepend()`用于插入元素,`...
Bootstrap Typeahead插件是用于创建输入框自动补全功能的一个工具,它与Twitter的Typeahead.js库紧密关联。在尝试实现这个功能时,一个常见的问题是在`source`属性中直接调用`ajax`方法来获取数据源,但这在当前版本...
4. **Ajax交互**:JQuery的`.ajax()`方法是进行异步数据请求的中心工具,支持XMLHttpRequest和JSONP跨域请求。例如,`$.ajax({url: "data.json", success: function(data) {...}})`会请求"data.json"并处理返回的...
8. **仿GoogleSuggest自动补全**: 这种功能常见于搜索框,当用户输入时动态提供建议。创建一个简单的版本,首先设置输入框的`keyup`事件: ```javascript $('#searchInput').on('keyup', function() { var ...
我们可以推测这是一个前后端配合实现的自动补全解决方案,前端使用JavaScript(可能包括jQuery、React、Vue等库)来处理用户输入并展示建议,而后端PHP负责处理来自前端的请求,查询数据并返回结果。 在压缩包文件...
VS-doc文件包含有详细的函数和方法注释,当开发人员在VS中编写jQuery代码时,可以得到自动补全和代码提示,大大提高了开发效率。这个文件并不影响实际的页面运行,只是作为开发工具的辅助。 最后,`jquery-1.5.2....
- **动态加载数据**:如搜索框中的自动补全功能。 - **异步通信**:如聊天室、评论系统等,实现即时通信。 ### 4. 注意事项 - **跨域问题**:出于安全考虑,浏览器限制了Ajax的跨域请求,除非服务器允许跨域(CORS...
5. 自动补全:输入框中自动匹配建议。 **三、jQuery 和其他库中的 Ajax** 为了简化 Ajax 的使用,jQuery 提供了更易用的 API,如 `$.ajax()`, `$.get()`, `$.post()` 等。这些函数封装了大部分 XHR 对象的操作,使...
3. 实时提示:搜索框的自动补全功能。 4. 数据交互:比如地图应用中的定位、拖拽操作等。 5. 用户界面优化:提供更流畅、响应更快的用户体验。 **三、Ajax与JSON和XML** 尽管名称中有XML,但Ajax并不局限于使用XML...
- 搜索建议和自动补全 - 分页加载 - 无限滚动等 综上所述,"Ajax 页面交互"涵盖了许多前端开发中的重要概念和技术,通过学习和实践,开发者能够创建出更高效、更互动的Web应用程序。《W3Cfuns-Head First Ajax...
- 自动补全搜索框 - 数据图表的动态更新 ### 8. 注意事项 - 避免阻塞UI:长时间的Ajax请求应放在Web Worker中执行。 - 错误处理:确保有适当的错误处理机制。 - 缓存管理:理解何时启用或禁用缓存以优化性能。 - ...
2. 实时提示:如搜索框的自动补全功能。 3. 数据加载:分页、滚动加载更多内容。 4. 动态刷新:如天气预报、股票信息等实时更新的数据。 **四、Ajax与JSON** 在实际应用中,XML格式并不常用,因为JSON(JavaScript ...
- **AutoComplete**:提供自动补全功能,常用于搜索框的实时建议,提高用户体验。 - **Heartbeat**:心跳机制,可以定期检查客户端与服务器的连接状态,保持会话的活跃性。 3. **DWR的使用流程** - 配置DWR:在...
1. **局部刷新**:如搜索框的自动补全、网页表格的动态加载。 2. **无刷新导航**:实现页面之间的平滑过渡,如单页应用。 3. **文件上传**:通过AJAX实现文件的异步上传,提供进度反馈。 4. **实时通信**:配合...
- 自动补全:用户输入时,后台实时返回匹配建议。 在实际开发中,可以使用jQuery、AngularJS、React、Vue等库或框架简化AJAX操作,提高开发效率。例如,jQuery的`$.ajax()`方法提供了一种简单的方式来发送AJAX请求...
例如,搜索框的自动补全功能就是通过Ajax实现,用户输入时后台实时查询并返回匹配结果。 **八、w3school_ajax.CHM文件** 此CHM文件很可能是w3school的Ajax教程的离线版,包含了详细的教程内容和示例代码,方便离线...
- **AutoComplete**、**Echo**、**Batch**等实用工具:DWR提供了一些预定义的实用工具,如自动补全、回声服务和批处理,用于简化常见任务的实现。 ### 4. DWR的配置与使用 - **配置文件**:`dwr.xml`是DWR的核心...
5. **动态搜索**:输入关键词时即时显示搜索结果,如Google的自动补全功能。 **四、AJAX的挑战与解决方案** 1. **浏览器兼容性**:不同浏览器对AJAX的支持程度不同,需要使用条件语句或库(如jQuery)来确保兼容。 ...