Столкнулся с проблемой только в firefox.
При попытке выполнить ajax получаю ошибки:
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://мойдомен.рф/index.php?route=checkout/cart/add. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').
и
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://мойдомен.рф/index.php?route=checkout/cart/add. (Причина: не удалось выполнить запрос CORS).
URL запроса по относительной ссылке:
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
/* код */
});
при этом если url прописать через http
$.ajax({
url: 'http://мойдомен.рф/index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
/* код */
});
то на Firefox запрос отлично обрабатывается,
в конфигах url прописан через пуникод
допустим
http://xn--d1acklchcc.xn--p1ai/
Как я вижу проблему:
Firefox преобразовывает домен в пуникод, после сравнивает с кириллическим доменом, считает, что запрос кроссдоменный и блокирует его.
Помогите пожалуйста, как вылечить.