Пользовательский запрос Typeabead.js в UTF-8
-
21-12-2019 - |
Вопрос
У меня такая же проблема, о том, что тот, который ответил здесь: Transeation в Typeaphead.js .
Но я не могу использовать обходной путь в ответ, потому что список предложений динамичен! Есть ли способ позволить пользователю использовать символ не-ASCII (É, À, è, ë и т. Д.) В их запросе?
Решение
Это решение на найден:
html
$('.typeahead').typeahead(
{
minLength: 3,
},
{
name: 'place',
displayKey: 'city',
source: function (query, process) {
return $.get("{% url 'profil:search_place_request' search_term='user-query' %}".replace('user-query', query), { query: query }, function (data) {
objects = [];
$.each(data, function(i, object) {
objects.push({
city : object.city,
zipcode : object.zipcode,
id : object.id,
});
});
return process(objects);
});
}
}
);
.
Просмотр
@login_required
def search_place_request(request, search_term):
search_term = search_term.encode("utf-8")
response, response_dict = selfcare.libs.core.utils.MyAPIRequests.get("place/?term={}".format(search_term))
if response.ok :
log.info('[profil] request GET places. Search term : {}, USER : {}'.format(search_term, request.user.username))
return HttpResponse(json.dumps(response_dict['results']), content_type="application/json")
else :
log.warning('[profil] request DELETE customer address failed. Status code : {}, USER: {}'.format(response.status_code, request.user.username))
return HttpResponse("", content_type="application/json")
return HttpResponse("", content_type="application/json")
.
Я явно кодирую в UTF8 на мой взгляд, и это сделал трюк!
Не связан с StackOverflow