talk is cheap ,show me your code!
1 | function jsonp (options) { |
例子:1
2
3
4
5
6
7
8
9
10
11jsonp({
url: 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
type: 'get',
data:{
wd: 'jsonp'
},
callback: 'cb',
success: function (data) {
console.log(data)
}
});
实现jsonp有三种方法 但是其实实质是一样的 ,都是利用script的跨域请求能力。
(都需要后端进行配合,将callback和数据拼接成string)
- 直接用script标签 在请求地址后面加上callback参数 ,在这之前必须先定义改callback函数
- 使用上面的封装的方法 动态创建一个script标签
- 使用jquery 的ajax方法 ,设置参数 dataType:’jsonp’,jsonocallback之类的参数 就可以了 ,其实质也是创建一个script标签 和2一样。