阻止Ajax追加到DIV
Stop Ajax from Appending to DIV
我有这个AJAX代码:
$.ajax({
target: "#map",
dataType: "json",
type: 'GET',
data: {
query: query
},
url: 'http://localhost:8080/path/urllinks',
success: function(response) {
successCallback(response);
}
});
function successCallback(responseObj) {
#I tried adding the suggested answers here but it's not working.
var table_0 = document.createElement('table');
if ( responseObj.length == 0 ) {
var p_0 = document.createElement('p');
p_0.appendChild( document.createTextNode(" Search is keyword :"+query + " does not exist in our record") );
document.body.appendChild( p_0 );
}
$.each(responseObj, function(index, element){
var tr_0 = document.createElement('tr');
var td_0 = document.createElement('td');
td_0.style.fontSize = "18px";
td_0.style.textDecoration = "underline";
td_0.style.color = "blue";
var a_0 = document.createElement('a');
a_0.href = element.link;
a_0.appendChild( document.createTextNode(element.title) );
td_0.appendChild( a_0 );
tr_0.appendChild( td_0 );
table_0.appendChild( tr_0 );
var tr_1 = document.createElement('tr');
var td_1 = document.createElement('td');
td_1.style.color = "green";
td_1.style.fontSize = "14px";
var p_0 = document.createElement('p');
p_0.appendChild( document.createTextNode(element.link) );
td_1.appendChild( p_0 );
tr_1.appendChild( td_1 );
table_0.appendChild( tr_1 );
var tr_2 = document.createElement('tr');
tr_2.style.height = "30px";
table_0.appendChild( tr_2 );
document.body.appendChild( table_0 );
});
}
在我的JSP页面中,我将目标div元素设置为:
<div id="map"></div>
每次我按下表单提交,AJAX都会追加结果,并且列表继续增长。我想在#map中创建一个新的结果表。
您的代码中有这样一行:
document.body.appendChild( table_0 );
那,告诉您的document
对象(您的页面)找到body
标记,然后附加table_0
的内容(因此,您没有将表附加到#map
元素,但是,总是在页面的末尾…
将document.body.appendChild( table_0 );
替换为$("#map").html(table_0);
,然后,$("#map").empty();
将在这个函数调用的开始工作。
顺便说一句。有很多更简单的方法来从头创建一个表……当你得到JSON格式的数据时,看看DataTables插件,更多的是Ajax源数据…
您是否尝试在成功回调函数中删除div内容?
。,你可以使用jquery $('#map').empty()删除所有的子元素,然后添加新的数据。
或者,您也可以在成功回调函数中执行$('#map').html(response)。
希望能有所帮助。
相关文章:
- 表追加而不附加最后一个元素
- 在Jquery中,通过追加函数以指数形式添加Div
- 如何使用 JQuery 切换 DIV 后删除追加的元素
- JQuery if 语句基于在文本中包含特定字符串将数据追加到相应的 DIV
- 将隐藏字段追加到 DIV 容器中
- each()类示例将Div Text追加到李
- 追加另一个Div
- AJAX成功后追加DIV
- 动态地在Div标签上追加另一个Div数据
- Javascript动态追加DIV标签
- Div只追加一次
- 追加到DIV的滑出面板
- 如何动态创建和追加DIV
- 使用jquery将一个DIV追加到另一个DIV
- 动态创建jQuery对话框&追加到DIV.对话框被创建,但不在DIV中
- 向DIV标记追加文本/元素
- 创建Div并在另一个Div中追加
- 在JQuery中追加CSS Div不起作用
- 点击删除追加的Div (JQuery)
- 阻止Ajax追加到DIV