else в javascript, получен номер ошибки то?

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
запрос
HTML:
function sendAjaxForm(result_form, ajax_form, url) {
    $.ajax({
        url:     url, //url страницы (action_ajax_form.php)
        type:     "POST", //метод отправки
        dataType: "html", //формат данных
        data: $("#"+ajax_form).serialize(),  // Сеарилизуем объект
        success: function(response) { //Данные отправлены успешно
            result = $.parseJSON(response);
            $('#result_form').html('Имя: '+result.name+'<br>Размер: '+result.size_file+'<br>Ссылка:'+result.download);
        },
        error: function(response) { // Данные не отправлены
            $('#result_form').html('Ошибка. Данные не отправлены.');
        }
     });
}
ответ если правильный запрос:
HTML:
{
"status": "OK",
    "error": 0,
    "size_file": "957.68 Mb",
    "name": "Who sank the Bismarck (2010). 720p.mkv.zip",
    "download": "https://site.info/download/07305"
}
если не правильный
HTML:
{
"status": "ERROR",
    "error": 1,   //пояснения - запрос не задан
    "size_file": "null",
    "name": "null",
    "download": "null"
}
HTML:
{
"status": "ERROR",
    "error": 3, //не сосуществует такого файла
    "size_file": "null",
    "name": "null",
    "download": "null"
}
и так далее с меняющимся номером ошибки.
Результат на странице с неверно выведенными данными(их не нужно экранировать:(
Имя: null
Размер: null
Ссылка:null
Как мне перед получения ответа на страницу считывать номер ошибки и экранировать ее, если "0", то показать данные ,если другой номер ошибки,то соответствующие сообщения?
 
Разобрался
HTML:
function sendAjaxForm(result_form, ajax_form, url) {
    $.ajax({
        url:     url, //url страницы (action_ajax_form.php)
        type:     "POST", //метод отправки
        dataType: "html", //формат данных
        data: $("#"+ajax_form).serialize(),  // Сеарилизуем объект
        success: function(response) { //Данные отправлены успешно
            result = $.parseJSON(response);
           
  if(result.status == 'ERROR'){
    $('#result_form').html('Error(s) found :' + result.error);
    if(result.error == '1'){
    $('#result_form').html('Error(s) found1 :' + result.error);
  }
  if(result.error == '2'){
    $('#result_form').html('Error(s) found2 :' + result.error);
  }
   if(result.error == '3'){
    $('#result_form').html('Error(s) found3 :' + result.error);
  }
  }else if(result.status == 'OK'){
    $('#result_form').html('Имя: '+result.name+'<br>Размер: '+result.size_file+'<br>Ссылка:'+result.download);
  }
   
        },
        error: function(response) { // Данные не отправлены
            $('#result_form').html('Ошибка. Данные не отправлены.');
        }
     });
}
поправеть если есть ошибка
 
поправеть если есть ошибка
Эта строка должна выводиться?
Код:
$('#result_form').html('Error(s) found :' + result.error);
Просто в вашем примере она затрется выводом одной из ошибок и если вы и так знаете что у вас ошибка зачем проверять её номер, если его можно просто вывести? Или данные для вывода будут другими?

Можно так как вариант, с описание ошибки:

Код:
function sendAjaxForm(result_form, ajax_form, url) {
    $.ajax({
        url: url, //url страницы (action_ajax_form.php)
        type: "POST", //метод отправки
        dataType: "html", //формат данных
        data: $("#" + ajax_form).serialize(), // Сеарилизуем объект
        success: function (response) { //Данные отправлены успешно
            result = $.parseJSON(response);
           
            if (result.status == 'ERROR') {
                var errorTxt;
                if (result.error == 1) {
                    errorTxt = "запрос не задан"
                } else if (result.error == 3) {
                    errorTxt = "не сосуществует такого файла"
                }
                $('#result_form').html('Error(s) found' + result.error +' :' + errorTxt);
            } else if (result.status == 'OK') {
                $('#result_form').html('Имя: ' + result.name + '<br>Размер: ' + result.size_file + '<br>Ссылка:' + result.download);
            }

        },
        error: function (response) { // Данные не отправлены
            $('#result_form').html('Ошибка. Данные не отправлены.');
        }
    });
}
 
Последнее редактирование:
Назад
Сверху