我是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?如果是這樣,我怎麼能真正寫代碼?
我更新我的回答給定函數按照我的建議改變。 –
我真的可以刪除整個'#主面板'併爲錯誤消息創建一個新的div(隱藏)嗎? – user3369592
當然,你可以在'#main-panel'之外添加隱藏的div。然後,當一個錯誤發生時調用'$('#main-panel')。remove(); $('#error1')。show();'這是你想要的嗎? –