如何清除之前的 json 回复?
How to clear previous json response?
我需要清除之前的回复。它只是堆积起来。
对不起,我对ajax了解甚少。
我感谢所有回复。谢谢。
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function(){
var selector = $(this);
var form = selector.serializeArray();
$("#submit").prop('disabled', true);
$.ajax({
url:'{{ url('dashboard/add') }}',
type: 'post',
data: form,
dataType:"json",
success: function(data){
if(!data.success)
{
$.each(data.errors, function(r, errors){
var node = document.createElement("li");
var textnode = document.createTextNode(errors);
node.appendChild(textnode);
document.getElementById("list").appendChild(node);
});
$('#myModal').modal('hide');
$('#myModal8').modal('show');
}
else
{
$('#myModal').modal('hide');
$('#myModal7').modal('show');
}
}
});
return false;
});
});
</script>
响应堆积如山,因为您一直在添加它们而从未清除它们。如果您想在每次启动新的 submit
时清除错误列表,
// ...
$("#form").submit(function(){
document.getElementById("list").innerHTML = "";
// ...
您总是追加到同一个 HTML 列表。
因为你已经有 jquery 你可以使用
empty()
在追加之前清除列表。
$('#list').empty();
请注意,这将删除列表中的所有内容,如果您需要删除特定元素,您应该针对它们的 ID 或 class。
您可以使用 hasChildNodes()
检查列表中是否存在任何子节点,如果是 true
,您可以使用 replaceChild()
而不是 appendChild()
。
或者您可以在添加新内容之前使用 innerHTML
清空内容。
我需要清除之前的回复。它只是堆积起来。
对不起,我对ajax了解甚少。 我感谢所有回复。谢谢。
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function(){
var selector = $(this);
var form = selector.serializeArray();
$("#submit").prop('disabled', true);
$.ajax({
url:'{{ url('dashboard/add') }}',
type: 'post',
data: form,
dataType:"json",
success: function(data){
if(!data.success)
{
$.each(data.errors, function(r, errors){
var node = document.createElement("li");
var textnode = document.createTextNode(errors);
node.appendChild(textnode);
document.getElementById("list").appendChild(node);
});
$('#myModal').modal('hide');
$('#myModal8').modal('show');
}
else
{
$('#myModal').modal('hide');
$('#myModal7').modal('show');
}
}
});
return false;
});
});
</script>
响应堆积如山,因为您一直在添加它们而从未清除它们。如果您想在每次启动新的 submit
时清除错误列表,
// ...
$("#form").submit(function(){
document.getElementById("list").innerHTML = "";
// ...
您总是追加到同一个 HTML 列表。
因为你已经有 jquery 你可以使用
empty()
在追加之前清除列表。
$('#list').empty();
请注意,这将删除列表中的所有内容,如果您需要删除特定元素,您应该针对它们的 ID 或 class。
您可以使用 hasChildNodes()
检查列表中是否存在任何子节点,如果是 true
,您可以使用 replaceChild()
而不是 appendChild()
。
或者您可以在添加新内容之前使用 innerHTML
清空内容。