建议我如何添加html而不是使用ajax调用在Django中替换html此代码替换li标记内容替换html页面中的内容,但是我想在每个ajax调用后添加html
{% load staticfiles %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="{% static 'chatbot/css/bootstrap.min.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'chatbot/css/Community-ChatComments.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'chatbot/css/styles.css' %}" type="text/css">
<script type="text/javascript">
$(function(){
$("#form1").on("submit",function(e){
e.preventDefault();
$.ajax({
type:"POST",
url:"./submission/",
data:{
"question":$("#input_ques").val() ,
"csrfmiddlewaretoken" : $("input[name=csrfmiddlewaretoken]").val()
},
success:sent,
dataType:'html'
});
});
});
function sent(data,textStatus,jqXHR){
$("#chat").html(data);
}
答案 0 :(得分:2)
代替$("#chat").html(data);
做
var existingData = $("#chat").text();
$("#chat").html(existingData + data);
或者您可以使用jQuery的.appendTo()
http://api.jquery.com/appendto/
$(data).appendTo("#chat");
或者您可以使用jQuery的.append()
http://api.jquery.com/append/
$("#chat").append(data);
这是假设data
包含HTML元素(甚至是字符串格式)。
答案 1 :(得分:1)
使用.append()
代替.html()
$("#chat").append(data);
.append()方法将指定的内容作为最后一个子项插入 jQuery集合中每个元素的元素(将其作为第一个元素插入 孩子,请使用 .prepend())。
答案 2 :(得分:1)
改为使用$("#chat").append(data);
。目前,您正在使用.html()
,它将完全替换$(#chat)
的内容。