문제

나는 여기에 대답 한 것과 동일한 문제가있다 : typeAhead.js의 음역 / P>

그러나 제안 목록이 역동적이기 때문에 대답에서 해결 방법을 사용할 수 없습니다! 사용자가 쿼리에서 비 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);
                });
            }
        }
    );
.

view

@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")
.

i view에서 UTF8에서 명시 적으로 인코딩하고 트릭을했습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top