在开发中跨域请求是比较常见的,jsonp,iframe等常见方法都可以使用,如果是请求别人的服务器,可以跨域请求,但是不能使用iframe,那么iframe的方案就无法使用了。

在jquery中,jsonp用于get请求是比较常见的,仅仅是为了获取数据而已,而在Vue应用中,一般使用的axios发起ajax请求,这个时候如果要使用jsonp请求,可以直接使用jsonp库模块来实现。

下面是axios github上给出的例子:

JSONP
$ npm install jsonp --save

const jsonp = require('jsonp');

jsonp('http://www.example.com/foo', null, (err, data) => {
  if (err) {
    console.error(err.message);
  } else {
    console.log(data);
  }
});

那么在我们的vue应用中,可以直接按照下面的事例来写:

先安装jsonp

$ npm install jsonp --save

然后再引入jsonp

import jsonp from 'jsonp';

接下来是具体代码:具体例子请见:

let id = 538344389634;
let res = null;
jsonp(`https://hws.m.taobao.com/cache/desc/5.0/?id=${id}`, null, (err, data) => {
	if (err) {
	   console.error(err.message);
	} else {
	   console.log(data);
	   res = data.wdescContent;
	}
});

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up