关键词搜索

源码搜索 ×
×

前端笔记-vue cli使用jsonp获取百度下拉推荐词

发布2019-10-05浏览4406次

详情内容

目录

 

基本概念

代码与实例


 

基本概念

这里关于jsonp请看这篇博文:https://blog.csdn.net/qq78442761/article/details/102067313

 

代码与实例

这里把数据打印到控制台:

程序结构如下:

源码如下:

config.js

  1. export const commonParams = {
  2. pre: 1,
  3. p: 3,
  4. ie: 'utf-8',
  5. json: 1,
  6. prod: 'pc',
  7. from: 'pc_web'
  8. }
  9. export const options = {
  10. // cb: 'jQuery110206443125406022925_1570194853214',
  11. // wd: '12'
  12. }

json.js

  1. import originJsonp from 'jsonp'
  2. export default function jsonp(url, data) {
  3. url += (url.indexOf('?') < 0 ? '?' : '&') + param(data);
  4. return new Promise((resolve, reject) =>{
  5. originJsonp(url, (err, data) => {
  6. if(!err){
  7. resolve(data);
  8. }
  9. else{
  10. reject(err);
  11. }
  12. })
  13. })
  14. }
  15. export function param(data) {
  16. let url = '';
  17. for(let k in data){
  18. let value = data[k] !== undefined ? data[k] : '';
  19. url += '&' + k + '=' + encodeURIComponent(value);
  20. }
  21. return url ? url.substring(1) : '';
  22. }

test.js

  1. import jsonp from '../common/jsonp'
  2. import {commonParams} from "./config"
  3. export function testRe() {
  4. const url = "https://www.baidu.com/sugrec";
  5. const data = Object.assign({}, commonParams, {
  6. //可以添加变动的get数据
  7. wd: '123'
  8. })
  9. return jsonp(url, data)
  10. }

Test.vue

  1. <template>
  2. <div>
  3. <h1>Hello world</h1>
  4. </div>
  5. </template>
  6. <script>
  7. import {testRe} from '../common/test'
  8. export default {
  9. created() {
  10. this._getRecommend();
  11. },
  12. methods: {
  13. _getRecommend(){
  14. testRe().then((res) => {
  15. console.log(res);
  16. })
  17. }
  18. }
  19. }
  20. </script>

index.js

  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import HelloWorld from '@/components/HelloWorld'
  4. import Test from '@/components/Test'
  5. Vue.use(Router)
  6. export default new Router({
  7. routes: [
  8. {
  9. path: '/',
  10. name: 'Test',
  11. component: Test
  12. // name: 'HelloWorld',
  13. // component: HelloWorld
  14. }
  15. ]
  16. })

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载