$.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,导致错误,囧


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM