我有一个函数,该函数使用AJAX请求从视图中获取数据并以模型中列表的形式返回数据。
在我的模型中,数据以换行符输入,但是在我的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);
}
});
});
Views.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)
答案 0 :(得分:0)
首先,您对“ 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/>');