Всем, привет.
Возникла проблема, никак не могу найти решение. Прошу помощи. Суть вопроса. Отправляем данные из браузера на сервер:
// c подобным урл $_POST на сервере заполняется данными из $data
var $url = '/category/tag/qweqwe-21321';
// с подобным url $_POST на сервере не заполняется данными из $data, в нем кириллица кодирована encodeURIComponent
$url = '/category/tag/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F';
var $data = {'left_menu_filter': $left_menu_filter, 'ajax-action': 'find-programm'};
$.post({
url: $url,
data: $data,
success: actionAfterSendLeftMenuFormData,
dataType: 'json'
});
Проблема в том, что когда отправляем запрос на url, содержащий кодированную кириллицу, то на сервере php не заполняет массив $_POST. А также, в этом случае, в массиве $_SERVER имеются значения:
[REQUEST_METHOD] => GET
[REQUEST_URI] => /category/tag/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F
То есть на стороне сервера запрос воспринимается как GET, а не POST.
В браузере в отладчике показываются при этом значения:
Request Method: POST
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Form Data (POST данные), пример:
left_menu_filter[categoryId]: 50
left_menu_filter[specialization][]: 371
left_menu_filter[price_from]: 2390
left_menu_filter[price_to]: 21900
ajax-action: find-programm
Подскажите, где закралась ошибка?