How to distinguish different Go server response options in JS (per AJAX request)?

  • 0
    How to distinguish between server response options in JS in the browser (with one AJAX request), and place them in the appropriate place-tag of the HTML document?
    HTML:
    <form>
        <span>Введите дату:</span>
        <input />
        <span id="span_1"></span>   <!-- Здесь ответ-вариант_1 сервера. -->
        <span id="span_2"></span>   <!-- Здесь ответ-вариант_2 сервера. -->
        <button type="submit">Отправить</button>
    </form

    JS:
    // AJAX-отправка данных_формы на сервер.
    ...
        form.addEventListener('submit', function(event) {
            xhr.onloadend = function() {
                if (xhr.status === 200) {
    	    // robot-doc. При успешном ответе сервера записываем содержимое ответа в тег:
                    document.querySelector('#span_1').innerHTML = xhr.response;   // В этот тег надо записать "ответ-вариант_1", если сервер отдал его.
                    или
                    document.querySelector('#span_2').innerHTML = xhr.response;   // В этот тег надо записать "ответ-вариант_2", если сервер отдал его.
                }
                xhr.open('POST', '/routForm');
            }
        });

    Go:
    // Маршрут-приёмник данных формы.
    http.HandleFunc("/routForm", func(w http.ResponseWriter, r *http.Request) {
        ...Проверка условий, по итогу которой выдаётся значение:
        if итог=ответ-вариант_1 {
            // возвращаем браузеру ответ-вариант_1
            var dataRespon_1 = "ответ-вариант_1"
            var goRespon, _ = template.New("data_resp").Parse("{{ .}}")
            goRespon.Execute(w, dataRespon_1)
        } else {
            // возвращаем браузеру ответ-вариант_2
            var dataRespon_2 = "ответ-вариант_2"
            var goRespon, _ = template.New("data_resp").Parse("{{ .}}")
            goRespon.Execute(w, dataRespon_2)
        }
    })
    JavaScript Anonymous, Aug 21, 2020

  • 1 Answers
  • 0
    JSON response from the server, where the response code will be specified, which can be used as the id of the html element. If there is no way to change the response body, send it with the response header.
    Anonymous

Your Answer
To place the code, please use CodePen or similar tool. Thanks you!