none
REST API Фильтр запроса с русскими буквами RRS feed

  • Вопрос

  • Коллеги, добрый день.

    Не могу получить элементы списка через REST API (SP 2010).

    Если названия полей написаны на английском (Title):

    _vti_bin/listdata.svc/ListName()?$filter=startswith(Title,'123')

    то сервис отдает элементы нормально.

    Если ферма русифицирована, то сервис упорно игнорирует русские названия и значения фильтров, т.е.

    ?$filter=startswith(Название,'123') - ошибка
    ?$filter=startswith(Title,'тест') - ошибка
    Как работать через сервис с русскими буквами? Как фильтровать по русским названиям?

    P.s. Собственно делаю autocomplite для веб-парты поиска по списку через jQuery-UI, работает, но засада с русскими буквами. Если в поисковом запросе присутствуют русские буквы - запрос не выполняется. Насколько понимаю сервис работает по Title полей, а не по InternalName, вот и получается загвоздка. Может надо как-то закодировать русские буквы в поисковом запросе?

    Сам запрос:

    function search(value, listurl, field) {  
        var coll = new Array();  
        var url =  
            listurl + "?$filter=startswith(" + field + ",'" + value + "')";  
      
        $.ajax({  
            cache: true,  
            type: "GET",  
            async: false,  
            dataType: "json",  
            url: url,  
            success: function (data) {  
                var results = data.d.results;  
                for (att in results) {  
                    var object = results[att];  
                    for (attt in object) {  
                        if (attt == field) {  
                            coll.push(object[attt]);  
                        }  
                    }  
                }  
            }  
        });  
        return coll  
    }

    27 июня 2014 г. 8:28

Ответы