$.getScript(url, callback),callback不执行,一次查错经历

看一段简单的getScript
$.getScript(
  'http://open.web.meitu.com/sources/xiuxiu.js',
  function(){
    console.log('xxx');
  }
)

脚本是加载了,但console.log('xxx');不执行

看了文档http://api.jquery.com/jQuery.getScript/临时解决方案,用complete
 
$.getScript("ajax/test.js")
.done(function(script, textStatus) {
  console.log( textStatus );
})
.fail(function(jqxhr, settings, exception) {
  $( "div.log" ).text( "Triggered ajaxError handler." );
})
.complete(function(){
  //不管是啥了,扔这里。。。
});
加了fail(function(){console.log(arguments}),发现是脚本解析错误,开启Pause on all exceptions,终于找到了元凶——一个dataFilter
$.ajaxSetup({
    dataFilter:function(data){
        return data.replace(/\ufeff/g, '');
    }
})

这是以前写的一个过滤器,不知道为什么数据多出来这些奇怪的字符,用这个过滤掉。现在用getScript,没有data,导致错误,囧

作者:阿良
出处:http://www.cnblogs.com/arliang 本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

原文地址:https://www.cnblogs.com/arliang/p/jQuery_getScript_callback_does_not_occurr.html