Служба поддержки DaData.ru

Иногда мы отвечаем на ваши вопросы даже ночью. Угадайте, почему? Мы просто любим наш сервис и хотим, чтобы он развивался в исключительно хорошую сторону. А ваши вопросы очень помогают нам в этом.


Именно здесь вы можете помочь нам сделать DaData.ru лучше! Отправьте сообщение, и мы ответим вам в течение 1-2 дней (а может, уже и через час, если мы еще не уснули или не в кино :)


P.S. Оставляйте свои идеи — чего не хватает сейчас сервису. И голосуйте за чужие идеи. Чем больше голосов набирает идея, тем скорее мы ее делаем.

0
Answered
Anonymous 2 years ago in Подсказки • updated 2 years ago 8

Есть 2 города других регионов, а в ХМАО нет

0
Declined
403
Anonymous 2 years ago in Подсказки • updated by Антон 2 years ago 2

Добрый день, пытаюсь воспользоваться Подсказками по адресу бесплатно, выдает такую ошибку

XMLHttpRequest cannot load https://dadata.ru/api/v2/status/address. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://cs.local' is therefore not allowed access. The response had HTTP status code 403.
Почту подтвердил

0
Declined
Anonymous 2 years ago in Подсказки • updated by Антон 2 years ago 2

Как в поле где ищется субьект (например Ханты-мансийский округ) добавить еще поиск по ФИАС (с показом двух первых символов).

\пример поиска тут :

https://uc.uriit.ru/form/statement.php в конце Субъект (Регион).

Те чтобы тоже отыскивался регион 86 или 55 например.

Вот такая конструкция:


$('input[name="stateOrProvinceName"]').kladr({

type: $.kladr.type.region,
select: function(obj){
},
valueFormat: function (obj, query) {
return obj.id.slice(0,2) + ' ' + obj.name;
}
});
0
Declined
Артем Годлин 2 years ago in Подсказки • updated by Антон 2 years ago 2
Добрый день!
Не могли бы Вы привести код реализации сервиса подсказок по адресу https://dadata.ru/suggestions/
Своими силами получить подобную реализацию в нашей системе не получилось...


Заранее спасибо!
0
Answered
Kireev Alex 3 years ago in Подсказки • updated by Антон 3 years ago 1
Как убрать первоначальный вывод области города когда пользователь еще ничего не ввел при работе через jquery-плагин?
Answer
Антон 3 years ago
Просто используйте плагин версии 4.8 :-)
0
Not a bug
Anonymous 2 years ago in Подсказки • updated by Антон 2 years ago 2
Не работают выбор подсказки из выпадающего списка, на андроиде работает.
0
Not a bug
Anonymous 3 years ago in Подсказки • updated by Damir Bagapov 3 years ago 8
В chrome, mozilla подсказки работают, в ie 9 нет
Пример, http://jsfiddle.net/o3Lt70d6/4/
Answer
Антон 3 years ago
Я вижу, вы просто открываете локальный файл. К сожалению, таким образом Подсказки не отработают из-за ограничений безопасности в IE 9.

Подключите Подсказки на реальном сайте — все заработает.
0
Completed
Anonymous 2 years ago in Подсказки • updated by Антон 2 years ago 3
Добрый день. Использую jquery плагин подсказок. Несколько раз сталкивался с долгим ответом от сервера dadata. Рациональное решение - прописать timeout, после которого пользователь бы вводил вручную данные без подсказок. В REST API можно прописать timeout явно. Как это сделать в jquery плагине?
Заранее спасибо.
Answer
Антон 2 years ago
Добавили параметр timeout, по умолчанию 3 секунды. Задается в параметрах плагина:
$("#address").suggestions({
  ...,
  timeout: 2000 // в миллисекундах
});
0
Not a bug
Anonymous 3 years ago in Подсказки • updated by Антон 3 years ago 3
Никакой реакции на ввод текста в поля.
0
Fixed
Кирилл 2 years ago in Подсказки • updated by Антон 4 months ago 7
У Вас явная ошибка в jQuery плагине.
если передать плагину следующий параметр
{ bounds: "city-settlement" }, тогда при вводе "Железнодорожный" в подсказках будет показываться "Московская обл, г Железнодорожный", а при выборе этого варианта - в поле запишется "г Железнодорожный", а должно писаться именно как в подсказке.

Чтобы изменить это поведение, я изменил параметр на { bounds: "region-area-city-settlement" }, тогда при вводе "Железнодорожный" - все правильно и показывается в подсказках и при выборе "Московская обл, г Железнодорожный"
а вот для запроса "Москва" - в подсказках будет показываться "г Москва" а при выборе - "г Москва, г Москва", соответственно для этого варианта ситуация следующая - когда происходит выбор варианта подсказки - к вам на сервер уходит запрос с параметром { count: 1 }, он возвращает объект suggestion, внутри которого поле value заполнено как надо "г Москва", потом этот объект suggestion попадает вот в эту функцию:

checkValueBounds: function (suggestion) {
    var that = this,
        valueData;

    // If any bounds set up
    if (that.bounds.own.length && that.type.composeValue) {
        valueData = that.copyBoundedData(suggestion.data, that.bounds.own);
        suggestion.value = that.type.composeValue(valueData);
    }
}
И здесь поле value перезаписывается через функцию composeValue
composeValue: function (data) {
    return utils.compact([
        data.region_with_type || utils.compact([data.region, data.region_type]).join(' '),
        data.area_with_type || utils.compact([data.area_type, data.area]).join(' '),
        data.city_with_type || utils.compact([data.city_type, data.city]).join(' '),
        data.settlement_with_type || utils.compact([data.settlement_type, data.settlement]).join(' '),
        data.street_with_type || utils.compact([data.street_type, data.street]).join(' '),
        utils.compact([data.house_type, data.house, data.block_type, data.block]).join(' '),
        utils.compact([data.flat_type, data.flat]).join(' '),
        data.postal_box ? 'а/я ' + data.postal_box : null
    ]).join(', ');
}
Но она очевидно работает не правильно, т.к. вы в обновлении 15.7 - сделали следующий пункт:
Адрес одной строкой формируем с учетом требований Почты России: если город — центр региона, название региона не пишется (г Новосибирск, ул Абаканская, д 21). Если центр района — не пишется название района (Московская обл, г Одинцово, ул Ракетчиков).
А в функции composeValue - value просто формируется объединеннием всего подряд - вот и получается что от сервера приходит правильный value "г Москва", а функция composeValue возвращает неправильное значение "г Москва, г Москва".

Т.к. запрос к вашему серверу при выборе подсказки уходит с параметрами { count: 1, from_bound: {value: "region"}, to_bound: {value: "settlement"} }, т.е. с учетом bounds, то и ответ приходит правильно отформатированный уже, поэтому по-сути вызов composeValue - просто лишний, поэтому у себя я просто исправил функцию checkValueBounds вот так:
checkValueBounds: function (suggestion) {
    return;
    var that = this,
        valueData;

    // If any bounds set up
    if (that.bounds.own.length && that.type.composeValue) {
        valueData = that.copyBoundedData(suggestion.data, that.bounds.own);
        suggestion.value = that.type.composeValue(valueData);
    }
}


P.S. Еще у меня есть проблема - наша компания задумывается о приобретении standalone версии подсказок, чтобы обезопасить себя от вопросов доступности вашего сервиса, но мне никак не может ваш менеджер толком объяснить - что именно будет работать по-другому в standalone версии, но говорит что точно чего-то не будет, а чего до конца не ясно, в общем плавает ваш менеджер в этом вопросе... Я предложил чтобы не разбираться с этим вопросом на словах, а опробовать в деле - можете ли вы запустить у себя отдельную чистую standalone версию, и давать к ней доступ хотя бы по запросу через менеджера, а то как-то стремно покупать лицензию на что-то что работает так же, но только не совсем точно так же, а вот по-другому:) Хочется перед покупкой оттестировать именно на том функционале который и будет приобретен.

P.P.S. Спасибо за ваш сервис - все очень круто!)