vue 交互 跨域获取数据
注意要引入vue-resource.js
<script src="js/vue-resource.js"></script>
1、打开百度
2、 F12 选择network 输入a
3、在3出(最后一个,就是最新的)右键 copy copy link address
4、在记事本中粘贴得到
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a&json=1&p=3&
sid=26523_1460_25810_21112_26350_26578_20927&req=2&csor=1&cb=
jQuery11020731639176197594_1528852077791&_=1528852077794
去掉部分无用数据,得到 https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a
?前面是我们要用的url 后面是对应的搜索的字段 a
所以对应的代码块如上,jsonp=cb 是因为百度的callback是cb
然后下面的两个函数是对应的请求成功和失败的函数,res是返回的信息,
res.data 是返回的数据
在浏览器地址访问https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a可以看到信息
所以我们的代码中的res.data.s 就是拿到s数组中的信息
运行后就可以看到,点击按钮弹窗
这样我们就通过百度拿到了相关信息
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js" type="text/javascript" charset="utf-8"></script> <script src="js/vue-resource.js"></script> <script type="text/javascript"> window.onload=function() { var vm=new Vue({ el:'#app', data:{ }, methods:{ haha:function(){ this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{ wd:'a' },{ jsonp:'cb' }).then(function(res){ alert(res.data.s); },function(res){ alert(res.status); }); } } }) } </script> </head> <body> <div id="app"> <input type="button" value="按钮" @click="haha()" /> </div> </body> </html>
posted on 2018-06-12 21:59 xiaoxiaoyao61 阅读(1448) 评论(0) 编辑 收藏 举报