本文实例讲述了jsonp实现百度下拉框功能的方法。分享给大家供大家参考,具体如下:
思路就是获取用户输入,然后根据用户输入调用百度的一个接口jsonp实现跨域请求,然后将百度返回给的内容渲染数据到视图。需要注意的就是,发送请求的时候记得编码用户输入的内容
var obj=document.querySelector('#user-input'); var body=document.querySelectorAll('body')[0]; var ul=document.querySelector('#ul'); var inner=''; function render(data){ //删除前一次请求的li的内容 if(ul.innerHTML!=''){ ul.innerHTML=''; for(let i = 0, length1 = data.s.length; i length1; i++){ var li=document.createElement('li'); li.innerHTML=data.s[i]; ul.appendChild(li); obj.addEventListener('keyup',function(){ if(document.querySelector('#request')){ body.removeChild(document.querySelector('#request')); var script=document.createElement('script'); script.id="request"; script.src="su wd="+encodeURI(obj.value.trim())+' p=3 cb=render'; body.appendChild(script); //利用冒泡添加事件。 ul.addEventListener('click',function(e){ var e=e||window.event; window.location.href="s word=" rel="external nofollow" +encodeURI(e.target.innerHTML);