JSONP 中空字符串的 src 属性会触发回调函数吗?
前端 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 回调函数?
答案是:不会调用。
在浏览器中,当 src 属性为空时,脚本将被忽略。因此,上面的 wx_auth 函数生成的有效 javascript 代码应该是:
<script type="text/javascript" src=""></script>
缺少 src 属性值会导致脚本无法加载,从而无法触发 jsonp_cb 回调函数。
以上就是JSONP 中空字符串的 src 属性会触发回调函数吗?的详细内容,更多请关注其它相关文章!