我有一个函数,它使用 AJAX 请求从 View 中获取数据并以模型中列表的形式返回数据。
在我的模型中,数据是用换行符输入的,但是在我的 jQuery 输出中,\n
字符被忽略。有人可以帮忙吗?
模型对象中的数据:
ankit: Hi govind!
go358938: Hi Ankit, how are you ?
数据作为列表传递给 jquery:
{ 'list': 'ankit: Hi govind!\r\ngo358938: Hi Ankit, how are you ?' }
模态中可见的数据:
ankit: Hi govind! go358938: Hi Ankit, how are you ?
$('#chatbox').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var recipient = button.data('whatever')
$.ajax({
url: "{% url 'fetcher' %}",
data: {
'search': recipient
},
dataType: 'json',
success: function (data) {
list = data.list;
$('#chatbox').find('.modal-body').html(list);
}
});
});
View .py
def fetcher(request):
if request.is_ajax():
name = User.objects.get(username=request.GET.get('search', None))
b = ChatMessage.objects.get(user2 = name)
print(b.message)
data = {
'list': b.message,
}
return JsonResponse(data)
最佳答案
首先,“jquery”输出是什么意思?
您的 HTML 输出为网站?好吧,“\n”不被视为“中断”,而是 <br/>
.
从技术上讲,您的 html 文件如下所示:
<div>\n
<p>Whatever</p>\n
<p>Something different</p>\n
</div>
您不想计算每个 \n
如<br/>
.
您有两个选择:
在支持 \n
的 html 元素中打印结果(例如 <pre>, <code> and <textarea>
执行)或替换您的 \n
与 <br/>
)。
解决方案 1:
<textarea class="modal-body-content">
This is a new line\nhere
</textarea>
$('#chatbox').find('.modal-body-content').html(list);
解决方案 2:
$('#chatbox').find('.modal-body').html(list.replace(/\n/g, '<br/>');
关于python - 将数据从 jquery success 填充到模态时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55965797/