У меня есть PHP-скрипт, который записывает информационные сообщения и сообщения об ошибках в таблицу базы данных.Я хочу создать синглтон javscript, чтобы использовать его для вызова этого скрипта с параметрами, основанными на информации или ошибке, которые мне нужно регистрировать.Сценарий PHP проверяет, установлен ли параметр logonly, и, если это так, регистрирует только значения, если он не установлен, регистрирует ошибку, а также отправляет мне электронное письмо о том, что он записал в журнал, чтобы я мог проверить его сразу же, когдаполучите электронное письмо.
Вот синглтон javascript:
[BrowserDetect - это класс для обнаружения браузером: http://www.quirksmode.org/js/detect.html]
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
Вот как он будет вызываться в информационнойситуация:
// url is preformed in this situation
NATools.DebugLog(true, url, "Good Entry", browser, browserVer, browserOS);
Вот как это будет вызываться в ситуации ajaxError:
$(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
Мой вопрос: нужно ли передавать NULLS для параметров jqXHR и исключения в информационномситуация?Или здесь можно установить дополнительные параметры по умолчанию?