
前端 jsonp 的陷阱
在前端开发中,jsonp(json with padding)是一种跨域调用 api 的方法。然而,在使用 jsonp 时,需要注意一个潜在的问题。
考虑以下代码:
var wx_auth = function () {
var jsonp = document.createelement('script');
jsonp.type = 'text/javascript';
jsonp.src = '';
document.getelementsbytagname('head')[0].appendchild(jsonp);
};
var jsonp_cb = function() {
};
// 在点击事件中调用 wx_auth
wx_auth();问题是,如果 jsonp.src 为空字符串,是否会调用 jsonp_cb 回调函数?
"jQuery点击事件遮罩弹出层可移动特效代码下载。一款jquery弹出层插件制作注册表单点击按钮弹出层表单提交效果,可支持拖到的jQuery弹出层效果。标题、高度、宽度等可以自定义弹出层js插件。
答案是:不会调用。
在浏览器中,当 src 属性为空时,脚本将被忽略。因此,上面的 wx_auth 函数生成的有效 javascript 代码应该是:
<script type="text/javascript" src=""></script>
缺少 src 属性值会导致脚本无法加载,从而无法触发 jsonp_cb 回调函数。

















