jsonp百度下拉框

廢話不多說(shuō) ,先貼代碼

代碼塊

  <body>
    <input type="text" />
        <ul></ul>
       <script>
            var input=document.querySelector("input");
            var ul=document.querySelector("ul");
            input.onclick=function(){
                var script=document.createElement("script");
                script.src='https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd='+this.value+'&cb=fn1';
                document.body.appendChild(script);
                document.body.removeChild(script);
            }
            
            function fn1(data){
                                 //我們需要的data參數(shù)已經(jīng)通過(guò)數(shù)據(jù)庫(kù)傳入了函數(shù),不需要我們另行傳入。
                                console.log(data);
                var str='';
                                 //data.s在最后一張圖可以明了
                if(!data.s.length){
                    ul.style.display='none';
                    ul.innerHTML='';
                }else{
                    ul.style.display='block';
                    
                    for(var i=0;i<data.s.length;i++){
                        str+='<li>'+data.s[i]+'</li>';
                    }
                    
                    ul.innerHTML=str;
                }
            };
            
        </script>
    </body>

其實(shí)就是一個(gè)通過(guò)訪問(wèn)百度服務(wù)器數(shù)據(jù),然后展示在本地頁(yè)面上的一個(gè)jsonp。
首先我們要拿到訪問(wèn)百度服務(wù)器的一個(gè)網(wǎng)址

0.4.png

右擊,copy,copy link address。
得到如下:
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=&json=1&p=3&sid=1427_21109_18560_17001_23536_22160&req=2&bs=%E5%90%91%E6%97%A5%E8%91%B5&csor=0&cb=jQuery1102022528784831170223_1500709212726&_=1500709212727
但是我們不需要這么多,精簡(jiǎn)一下:
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd='+this.value+'&cb=fn1

參數(shù) 值
wd 關(guān)鍵字
cb 回調(diào)函數(shù)

輸入的時(shí)候回去請(qǐng)求百度的數(shù)據(jù),他是放在百度的服務(wù)器中,我們?cè)诒緳C(jī),這就是跨域,用到了jsonp。
jsonp出來(lái)之后特別流行,而且操作方便,ajax操作的時(shí)候可能會(huì)出現(xiàn)很多錯(cuò)誤,jsonp不會(huì)。
簡(jiǎn)單說(shuō)就是一個(gè)get請(qǐng)求,就是一個(gè)地址 。
就是一個(gè)script標(biāo)簽,javascript文件,拿到文件之后通過(guò)dom或者javascript的操作方法把數(shù)據(jù)展示到頁(yè)面中,這就是jsonp的數(shù)據(jù)交互。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容