首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript singleton记录错误

使用javascript singleton记录错误
EN

Stack Overflow用户
提问于 2012-01-25 03:17:12
回答 1查看 132关注 0票数 0

我有一个PHP脚本,它将信息和错误消息记录到数据库表中。我想构建一个javscript单例,用来根据我需要记录的信息或错误来调用这个脚本。PHP脚本检查是否设置了logonly参数,如果设置了,则只记录值,如果没有设置,则记录错误,并通过电子邮件将其写入日志,以便我在收到电子邮件时可以立即进行检查。

下面是javascript单例:

http://www.quirksmode.org/js/detect.html是一个用于浏览器检测的BrowserDetect类

代码语言:javascript
复制
var NATools = {
  var browser    = BrowserDetect.browser;
  var browserVer = BrowserDetect.version;
  var browserOS  = BrowserDetect.OS;
  var AJAX_ERROR_LOG_URL      = '/ajax/log_ajax_error.php';

  DebugLog: function(log_only, url, msg, browser, browserVer, browserOS, jqXHR, exception) {
    var logurl = AJAX_ERROR_LOG_URL;
    if(log_only) {
      var logurl += '?logonly=yes&url='+url+'&browser='+browser+'&browserVer='+browserVer+'&browserOS='+browserOS;
    } else {
      var logurl += '?status='+jqXHR.status+'&object='+jqXHR+'&error='+jqXHR.responseText+'&expmessage='+exception.message+'&url='+url+'&browser='+browser+'&browserVer='+browserVer+'&browserOS='+browserOS;
    }
    $.ajax({
        async: true, 
        type:'POST', 
        url: logurl, 
        dataType: 'json'
    }); // $.ajax
  }; // DebugLog
}; // NATools

下面是它在信息环境中的调用方式:

代码语言:javascript
复制
// url is preformed in this situation
NATools.DebugLog(true, url, "Good Entry", browser, browserVer, browserOS);

下面是它在ajaxError环境中的调用方式:

代码语言:javascript
复制
$(document).ajaxError(function(e, jqxhr, settings, exception) {
  var ajax_url = settings.url;
  NATools.DebugLog(false, ajax_url, "Error Entry", browser, browserVer, browserOS, jqxhr, exception);
}); // ajaxError

我的问题是,在信息性情况下,我是否需要为jqXHR和exception参数传递空值?或者可以在这里设置默认的可选参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-25 03:20:38

是的,所有JavaScript参数的“默认值”都是undefined。所以使用one method or another检查undefined

代码语言:javascript
复制
if(someParam === undefined) {
    someParam = 'default value';
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8992706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档