Breeze.js: символ амперсанда (&) в предложении where выдает ошибку

Вот код JavaScript для создания моего запроса Breeze:

var query = new breeze.EntityQuery().from("suppliers").
            where("Name", op.Contains, "&").
            select("Name").
            orderBy("Name").
            take(50);

Когда я отправляю этот запрос, я получаю эту ошибку: «Запрос, указанный в URI, недействителен».

В Fiddler я вижу URI, но вроде нормально: http://localhost:59994/breeze/FastSearch/suppliers?$filter=substringof(%27%26%27%2CName)%20eq%20true&$orderby=Name&$top=50&$select=Name

Я всегда получаю эту ошибку, когда мой шаблон поиска содержит символ «&».

Есть идеи, как это исправить?


person Jer    schedule 02.03.2016    source источник


Ответы (1)


Попробуйте процентное кодирование амперсанда:

где("Имя", op.Contains, "%26")

См. этот ответ: экранирование амперсанда в URL

person Jonathan    schedule 03.03.2016
comment
Как вы можете видеть в моем вопросе, амперсанд уже был экранирован в uri: ...$filter=substringof(%27%26%27%2CName)... - person Jer; 03.03.2016