百度翻译 和 百度搜索的候选项(jsonp法)——搬砖(非原创)
jsonp的主要四步写法:
1 var os = document.createElement('script'); //第一步,创建“Script”节点 2 os.src是要调用的接口地址 http://suggestion.baidu.com/su?cb=qwer&wd= 这个是搜索 3 os.src = 'http://suggestion.baidu.com/su?cb=qwer&wd=' + input.value; //第二步,设置调用的接口地址
4 document.body.appendChild(os) //第三步,添加节点
5
6 //设置回调函数 qwer是自己命名的回调函数的名字 必须带有cd 。 wd 代表关键字
7 // qwer(d) 中的d 代表响应的结果
8 function qwer(d){ //第四步,设置回调函数
9 console.log(d); 10 vm.arr = d.s; 11 }
使用vue建立百度翻译方法
1 <div id="app"> 2 <textarea name="翻译" cols="30" rows="10" v-model='kw'></textarea> 3 <p>翻译结果:{{st}} </p> 4 </div> 5 6 7 <script> 8 let vm = new Vue({ 9 el:'#app', 10 data:{ 11 kw:'', 12 st:'', 13 }, 14 watch:{ 15 kw(){ 16 let os = document.createElement('script'); 17 os.src = 'https://api.asilu.com/fanyi?callback=qwer&q='+this.kw+'&type=&_1501665233671'; 18 document.body.appendChild(os); 19 } 20 } 21 22 23 }) 24 function qwer(d){ 25 console.log(d); 26 vm.st = d.data; 27 } 28 </script>
原生js 百度搜索
1 input = document.querySelector('input'); 2 ul = document.querySelector('ul'); 3 console.log(input,ul); 4 5 6 input.oninput = ()=>{ 7 var os = document.createElement('script'); 8 os.src = 'http://suggestion.baidu.com/su?cb=qwer&wd=' + input.value; 9 document.body.appendChild(os) 10 } 11 function qwer(d){ 12 console.log(d); 13 let arr = d.s; 14 ul.innerHTML = ''; 15 for(let i = 0;i<=arr.length;i++){ 16 var oli = document.createElement('li'); 17 oli.innerHTML = arr[i]; 18 ul.appendChild(oli) 19 } 20 }
Vue写法
1 <div id="app"> 2 <input type="text" v-model="kw"> <hr> 3 <ul> 4 <li v-for='item in arr' :key='item'>{{item}}</li> 5 </ul> 6 </div> 7 8 9 <script> 10 let vm = new Vue({ 11 el:'#app', 12 data:{ 13 kw:"", 14 arr:[], 15 }, 16 watch:{ 17 // 当kw变化了,准备发送请求 18 kw(){ 19 if (this.kw == '') { 20 this.arr = []; 21 return; 22 } 23 let os = document.createElement('script'); 24 os.src = 'http://suggestion.baidu.com/su?cb=qwer&wd=' + this.kw; 25 document.body.appendChild(os); 26 } 27 } 28 }) 29 function qwer(d){ 30 console.log(d); 31 vm.arr = d.s; 32 } 33 </script>
仅供娱乐学习

浙公网安备 33010602011771号