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

Тема в разделе "JavaScript", создана пользователем usergeyv, 16 авг 2018.

  1. usergeyv

    usergeyv Постоялец

    Регистр.:
    5 июл 2013
    Сообщения:
    131
    Симпатии:
    20
    запрос
    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", то показать данные ,если другой номер ошибки,то соответствующие сообщения?
     
  2. usergeyv

    usergeyv Постоялец

    Регистр.:
    5 июл 2013
    Сообщения:
    131
    Симпатии:
    20
    Разобрался
    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('Ошибка. Данные не отправлены.');
            }
         });
    }
    поправеть если есть ошибка
     
  3. L2Banners

    L2Banners Постоялец

    Регистр.:
    15 сен 2017
    Сообщения:
    55
    Симпатии:
    20
    Эта строка должна выводиться?
    Код:
    $('#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('Ошибка. Данные не отправлены.');
            }
        });
    }
     
    Последнее редактирование: 16 авг 2018
    usergeyv нравится это.
  4. usergeyv

    usergeyv Постоялец

    Регистр.:
    5 июл 2013
    Сообщения:
    131
    Симпатии:
    20
    Спасибо, я позднее увидел и уже удалил