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 태그를 넣지 않기 위해 로직으로 뷰 요소가 산재 해있는 것을 피하고자합니다. DIV를 HTML에 넣고 싶습니다. 아니면 JS에 "error_message"스타일을 적용하여 기존 DIV를 사용할 수 있습니까? 그렇다면 어떻게 실제로 코드를 작성할 수 있습니까?
는 내 제안에 따라 변경 주어진 함수 내 대답을 업데이트했습니다. –
나는 실제로 '# main-panel'전체를 제거하고 오류 메시지에 대해 새 div (숨김)를 만들 수 있습니까? – user3369592
물론,'# main-panel' 외부의 오류 div를 숨김으로 추가 할 수 있습니다. 그런 다음 오류가 발생하면'$ ('# main-panel'). remove(); $ ('# error1'). show();'이것이 당신이 원하는 것입니까? –