JSONP 中空字符串的 src 属性会触发回调函数吗?

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 回调函数

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容