原生javascript实现jsonp

来源:互联网 发布:软件开发的发展 编辑:程序博客网 时间:2024/04/30 00:05
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>jsonp实现</title></head><body><p></p><script type="text/javascript">//工具函数(function (w,d) {var jsonp = function (url, data, callback) {//将传入的data以name=value形式拼接到url后var reqUrl = url.indexOf('?') == -1 ? '?' : '&';for (var k in data) {reqUrl += k + '=' + data[k] + '&';}//url?name=value&callback=fooreqUrl += 'callback=foo';//创建script标签var script = d.createElement('script');script.src = url + reqUrl;w['foo'] = function (resp) {callback(resp);//回调函数完成,删除script标签d.body.removeChild(script);}//添加script标签d.body.appendChild(script);}w.$jsonp = jsonp;}(window,document))//测试$jsonp('http://api.douban.com/v2/movie/in_theaters',{count : 1,start : 0,},function (resp) {document.querySelector('p').innerHTML = JSON.stringify(resp);})</script></body></html>