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

以上就是JSONP 中空字符串的 src 属性会触发回调函数吗?的详细内容,更多请关注其它相关文章!