Я новичок в Ajax. У меня есть шаблон, который имеет «имя» и кнопку. Когда нажата кнопка, имя и кнопка будут заменены на некоторые сообщения. Мой код работает отлично. Ajax:лучший дизайн для Ajax заменить div другим div
$('#fulfillButton').bind('click',function() {
$.ajax({
type : "GET",
contentType : "application/json; charset=utf-8",
url : "/order/${orderID}",
dataType : "json",
cache: false,
timeout: 12000,
success: function (data) {
alert("success");
},
error: function (data,textStatus) {
if(textStatus == "timeout")
{
$('#main-panel').replaceWith('<div class="error-message">' + "Timeout, please clcik the button beblow to scan again!" + '</div>');
}
else
{
var responseText = data.responseText;
var jsonErrorMessage = JSON.parse(responseText);
$('#main-panel').replaceWith('<div class="error-message">' + jsonErrorMessage["body"] + '</div>');
}
},
});
Html:
<div id="main-panel">
<div class="full-name">
${name}
</div>
<div id
<button id="fulfillButton" type="button" class="action-button shadow animate fulfill-button-color">
FulFill
</button>
</div>
<button id="goBackButton" type="button" class="go-back-button">
Go Back
</button>
Но теперь я в поисках лучшей конструкции. Как вы можете видеть
$('#main-panel').replaceWith('<div class="error-message">' + jsonErrorMessage["body"] + '</div>');
Но я хочу, чтобы избежать пересыпая просмотр элементы с логикой (не ставить Диво щество здесь). Я хочу поместить DIV в HTML или использовать существующий DIV с стилем «error_message», применяемым в JS? Если да, то как я мог написать код?
Я обновил свой ответ с данной функцией изменен в соответствии с моим предложением. –
Могу ли я просто удалить всю «главную панель» и создать новый div (скрытый) для сообщения об ошибке? – user3369592
Несомненно, вы можете добавить ошибки divs вне '# main-panel' как скрытые. Затем, когда возникает ошибка, вызовите '$ ('# main-panel'). Remove(); $ ('# error1'). show(); 'Это то, что вы хотите? –