关于自动补全功能的理解

 自己研究的是jquery下的autocomplete
先推几个网站

1.jQuery UI:  http://jqueryui.com/
2.jQuery plugin:  http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
3.1300grams 的篇博文:  http://1300grams.com/2009/08/17/jquery-autocomplete-with-json-jsonp-support-and-overriding-the-default-search-parameter-q/
4.一个简洁易懂的例子:  http://www.devbridge.com/projects/autocomplete/jquery/default.aspx  http://www.websbook.com/javascript/jQuerydssgjczdppcj_17855.html
5. http://ethanwooblog.iteye.com/blog/670548
 
上述有详尽的autocomplete例子,会对学习有所帮助
例子使用的远端服务网站是  http://ws.geonames.org 提供的api.

使用自动补全,我自己先想到的就是ajax,本地解析上述例子有详细介绍。
但是如果需要第三方提供数据的话,不免的要面对一个问题就是跨域。
对于跨域,我自己想到的最简单的办法就是本地服务器建立个php请求数据,然后在ajax调用即可免去跨域的麻烦。但是这样做的弊端就是对造成资源的浪费,相当于建立了一个中转站,所以放弃了该办法。
翻看了一些资料,推荐使用办法最多的就是jsonp, 同样jsonp在上述例子中也有使用说明。
有位达人分享了jsonp的原理,特别推荐一下:
http://www.cnblogs.com/QLeelulu/archive/2009/11/17/1604426.html
通过上述网站介绍相信就可以使用jsonp来跨域访问数据了。
而本人在调研的是键入地址拼音或者汉字,自动补全为地理位置信息以及获取到经纬度。
正巧google提供了对应的api服务: 
http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/
即自己拼接出url即可获得json反馈。于是笔者兴冲冲的拿着jsonp进行跨域测试,发现chrome报 Unexpected  token错误。我自己猜想难道是密匙的问题,查阅后被否决,继续放狗查询。发现一老外有同样之问题,分享一下:
http://stackoverflow.com/questions/2685076/google-maps-api-geocode-gives-error-invalid-label-in-firefox   
http://groups.google.com/group/google-maps-api/browse_thread/thread/11a95da9309a9b30
上面给出的答案是google对于jsonp的否认。
好在google提供了api的文档,调用即可跨域获取: 
http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/services.html#Geocoding
 
本人菜鸟一枚,总结一下查找工作,便于以后翻阅

你可能感兴趣的:(jquery,职场,网站,休闲)