Как я могу показать ту же страницу (форму входных данных) с ошибками в API restfull в Java? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть форма ввода, которая имеет много входов. Когда я нажимаю кнопку отправки, я хочу сохранить данные в моем mongodb, но сначала проверим, существует ли имя или нет. Если существует, я не хочу сохранять данные и перенаправлятьна той же странице с ошибкой (например, этот код продукта, который вы вставили, уже существует. Пожалуйста, вставьте другой), но я не хочу использовать пружинную форму, потому что я хочу, чтобы моя задняя часть была перекомпонованной и независимой от внешнего интерфейса.Мой вопрос заключается в том, как это сделать, не используя «форму пружины и JSP».

1 Ответ

0 голосов
/ 27 июня 2019

Вы можете вернуть ответ об ошибке из вашей конечной точки REST и обработать его в своем JavaScript.

Для получения информации об остальном API и о том, как вернуть код ошибки, прочитайте DOC .

Предположим, у вас есть форма и есть div для отображения ошибки. Вы можете сделать что-то вроде следующего в вашем javascript, чтобы показать ошибку в div ошибки всякий раз, когда сообщение об ошибке возвращается из остальной конечной точки, или иметь сообщение в соответствии с на статус ответа.

<span id="errorDiv"></span>
....

<form>

</form>

jQuery("#save").click(function () {
  if (jQuery('#form').jVal()) {
    jQuery.ajax({
      type: "POST",
      url: "save",
      dataType: "html",
      data: formData,
      success: function (response) {
        jQuery("#usergrid").trigger("successMessageId");
        clear();
        alert("Details saved successfully!!!");
      },
    error: function (jqXHR, exception) {
     var msg = '';
     if (jqXHR.status === 0) {
         msg = 'Not connect.\n Verify Network.';
     } else if (jqXHR.status == 404) {
         msg = 'Requested page not found. [404]';
     } else if (jqXHR.status == 500) {
         msg = 'Internal Server Error [500].';
     } else if (exception === 'parsererror') {
         msg = 'Requested JSON parse failed.';
     } else if (exception === 'timeout') {
         msg = 'Time out error.';
     } else if (exception === 'abort') {
         msg = 'Ajax request aborted.';
     } else {
         msg = 'Uncaught Error.\n' + jqXHR.responseText;
    }
   $("#errorDiv").html(msg);
   },
      }
    });
  }
});
...