巧妙使用Image对象将js错误记录到服务器端

如果我们想要将js的错误信息记录到服务器数据库库中,我们一般想到的是通过ajax来实现。
其实这样做有几个弊端:

  • 不支持跨域操作,因为很多情况下是一台服务器要负责处理多台服务器的错误;
  • 大多数Ajax通信都是通过javascript库提供的包装函数来处理,如果库代码本身就有问题, 而你还在依赖该库记录信息,可想而知,错误消息是不肯能得到记录的。

怎么办?
可以使用Image对象巧妙的解决这个问题。

function logError(sev, msg){
    var img = new Image();
    img.src = "log.php?sev=" + encodeURIComponent(sev) + 
              "&msg=" + encodeURIComponent(msg)";
}
    原文作者:nummy
    原文地址: https://www.jianshu.com/p/3bc73971e3b3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞