При отправке на сервер параметров кодирую с помощью encodeURIComponent но при этом на сервер приходит пустое значение(
когда убираю encodeURIComponent латинские символы отправляются, но с русскими беда
Код:
if(xhr) {
xhr.open('POST', 'mod_catalog/ajax.php', true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
var timeoutLength = 5000;
var requestDone = false;
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && !requestDone) {
if(httpSuccess(xhr)) setSelect(xhr.responseText);
}
};
var data = 'marka='+this.options[this.selectedIndex].value;
xhr.send(data);
setTimeout(function() {requestDone = true;}, timeoutLength);
}
function setSelect(data) {
selectModel.innerHTML = decodeURIComponent(data);
alert(decodeURIComponent(data));
}
PHP:
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
if(isset($_POST['marka'])) {
header('Content-type: text/html; charset=windows-1251');
echo $_POST['marka'];
$_POST['marka']=iconv("UTF-8", "WINDOWS-1251",$_POST['marka']);