Подсказки не работают: ошибка 415 Unsupported Media Type

Если вы подключили подсказки и получаете такую ошибку:

{"family":"CLIENT_ERROR","reason":"Unsupported Media Type","message":"HTTP 415 Unsupported Media Type"}

То, скорее всего, проблема в корзине WebAsyst, которая подключена на сайте.



В скрипте wa.core.js в строке 333 ставится глобальный хук ajaxSend, в котором переопределяется заголовок Content-Type на значение "application/x-www-form-urlencoded". Этот хук перекрывает Content-Type для всех AJAX-запросов, выполняющихся с вашей страницы.



А в подсказках используется Content-Type = application/json. Плагин подсказок его устанавливает, но глобальный хук, о котором шла речь выше, затирает его на неправильное значение.



Решить проблему можно, если запретить менять запросы к подсказкам. Например, так:


// строка 333 в wa.core.js
$(document).ajaxSend(function (event, xhr, settings) {
    if (settings.dataType === "json") {
        return;
    }
    if (settings.type == 'POST') {
        ...
    }
});

Сервис поддержки клиентов работает на платформе UserEcho