正确显示从 ajax 请求到 html 的结果
Correctly displaying results from an ajax request to html
我刚刚使用 JQuery 的 AJAX 函数发出了一个简单的请求,该函数将在完成请求时检索数据。这是我的代码:
('.submit').on('click', function(e){
e.preventDefault();
var tobesent = $('input.test').val();
$.ajax({
type : 'POST',
dataType : 'json',
url : '<?php echo base_url("ajaxcontroller/submit"); ?>',
data : {'content' : tobesent}
})
.done(function(data){
$.each(data, function(k, v){
$('div.placedhere').append(v.fullname);
})
})
.fail(function(data){
console.log(data);
})
});
它工作得很好,它确实接收了数据。但问题是,每次我单击提交按钮发出新请求时,检索到的结果都会附加到先前结果的末尾。
我知道发生这种情况是因为$('div.placedhere').append(v.fullname)
.
如何在开始发出新请求之前清理div,以便div 仅显示最新结果?
我之前做过$('div.placedhere').remove()
之类的事情$('div.placedhere').append(v.fullname)
但div 只显示检索到的数据中的最后一条记录。
我还尝试将append()
函数更改为html()
函数,我得到了相同的结果,div 只向我显示了数据的最后一条记录。
如何在开始发出新请求之前清理div,以便div 仅显示最新结果?
在开始提出新请求之前,如何清理div 以便div 只显示最新结果?
您可以使用.empty()
var div = $("div.placedhere"); // cache selector outside of `click` handler
.done(function(data) {
div.empty(); // remove child nodes of `div.placedhere`
$.each(data, function(k, v){
div.append(v.fullname);
})
})
你可以通过2种方式做到这一点
1)在AJAX调用之前清除div
('.submit').on('click', function(e){
e.preventDefault();
$('div.placedhere').empty(); //clear div before ajax call
var tobesent = $('input.test').val();
$.ajax({
type : 'POST',
dataType : 'json',
url : '<?php echo base_url("ajaxcontroller/submit"); ?>',
data : {'content' : tobesent}
})
.done(function(data){
$.each(data, function(k, v){
$('div.placedhere').append(v.fullname);
})
}).fail(function(data){
console.log(data);
})
});
2)使用HTML
代替APPEND
(html
使div为空然后附加新值)
('.submit').on('click', function(e){
e.preventDefault();
var tobesent = $('input.test').val();
$.ajax({
type : 'POST',
dataType : 'json',
url : '<?php echo base_url("ajaxcontroller/submit"); ?>',
data : {'content' : tobesent}
})
.done(function(data){
$.each(data, function(k, v){
$('div.placedhere').html(v.fullname); // use `html` like this
})
}).fail(function(data){
console.log(data);
})
});
相关文章:
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- 计数HTML表中筛选的结果
- 如何将mysql查询的结果获取到html文本框中
- 如何将 JavaScript 中 HTML 的结果写入文件
- 如何等待一个HTML页面并在页面复杂创建时获得结果
- 使用 js 函数显示 HTML 表单的结果
- HTML
“width” 属性在不同的浏览器中产生不同的结果 - 正确显示从 ajax 请求到 html 的结果
- 使用 AJAX 在页面加载时自动提交表单并获得 html 类型结果
- 如何在PHP中包含动态Javascript页面的静态HTML结果
- 在 HTML 文件中获取 PHP 的 HTML 结果
- 解析javascript获取页面标题的html结果
- 如何将URL调用的HTML结果附加到DOM中
- 对象中的jQuery分析HTML结果不支持属性错误
- jQuery解析HTML结果不符合预期
- PHP - cURL post to website ->模拟浏览器(做javascript) ->返回HTML结果
- 如何显示 html 结果形成文本
- 如何获得html()结果的适当子字符串;意想不到的效果