Zlog
首页归档关于
Zlog

一个探索技术、编程和构建 Web 的个人空间。

© 2026 Zlog

导航

首页归档关于

链接

/
|
·
·
·
首页/Jsonp封装

Jsonp封装

Jsonp封装

Z

Zephyr110

2020年3月1日·1 分钟
|
frontendfrontend-javascript

1. 封装

js
function jsonp(options) {
	//动态创建 Script 标签
	var script = document.createElement('script');
 
	var params = '';
	for (var attr in options.data) {
		params += '&' + attr + '=' + options.data[attr];
	}
 
	var fnName =
		'jsonp' +
		Math.random()
			.toString()
			.replace('.', '');
 
	//用 window 把 success 函数挂载到全局
	window[fnName] = options.success;
 
	//为 scriptb 标签添加 src 属性
	script.src = options.url + '?callback=' + fnName + params;
 
	//将 script 标签添加到 body
	document.body.appendChild(script);
 
	//script 标签加载完成时,服务器返回的函数已执行,所以在此之后移除 script 标签
	script.onload = function() {
		document.body.removeChild(script);
	};
}

2. 请求举例

js
jsonp({
	type: 'get',
	url: 'http://www.xxx.com/get', //非同源地址
	data: {
		name: 'ABC',
		age: 20,
	},
	success: function(data) {},
	error: function(data) {},
});
 
//服务器端用(express 框架)用 res.jsonp({name: 'ABC', age: 20})返回需要调用的函数名和数据给客户端

标签

frontendfrontend-javascript

评论 (0)

评论功能仅在主站可用,请访问 zephyr110.vercel.app

相关文章

OffscreenCanvas

MDN-OffscreenCanvas

2025年12月10日·7 分钟

Service Worker

Web worker 是一种在浏览器中运行的后台脚本,它可以在独立的线程中执行任务,而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务,例如图片处理、文本分析、数据处理等,以避免阻塞主线程,提高页面的响应性能

2024年5月28日·4 分钟

vue-tour二次封装

npm install vue-tour

2023年7月22日·7 分钟

← 返回文章列表