Почему django отображает представление с помощью \ n? (js ошибка разбора) - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь отобразить представление в Django и отправить его с ajax клиенту.

My view.py:

def searchUser(request):
form = Search(request.POST['name'])
found_profiles = User.objects.prefetch_related('profile').filter(artist_name__icontains=request.POST['name'])[:20]
profiles = {}
i = 0
for user in found_profiles:
    profile = Profile(user = user)
    profiles.update({i : {'user' : user,'profile' : profile}})
    i+=1

print('profile '+str(profiles))
return render(request, 'home_page/search_results.html', {'profiles' : profiles})

Мой search_result. html:

{% for tuple, cont in profiles.items %}
    <h2>{{cont.user.email}}</h2>
    <h2>{{cont.user.artist_name}}</h2>
    <h2>{{cont.profile.bio}}</h2>
{% endfor %}

И, наконец, мой js:

<script type="text/javascript">
$('#submit-search-user').on('click', function(){
    var name = $('#id_Name').val();
    console.log("Seaching for "+name);
    $.ajax({
        type: "POST",
        url: "/ajax/search/user", 
        data: {name: name, 'csrfmiddlewaretoken': '{{ csrf_token }}'},
        dataType : 'json',
        error : function(xhr, errmsg){
            console.log(xhr);
            console.log(errmsg);

        },
        success : function(data) {
            console.log(data)
            $('#result').html(data);
        }
    });
});

</script>

Js выдает ошибку разбора, часть responseText:

"\n\n\t<h2>test@outlook.fr</h2>\n\t<h2>Azerrt</h2>\n\t<h2></h2>\n\n\t<h2>moowee@yo.de</h2>\n\t<h2>a</h2>\n\t<h2></h2>\n\n"

Почему есть "\ n" и "\ t"? Это причина моей ошибки разбора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...