Показать сообщение отдельно
  #1 (permalink)  
Старый 08.02.2013, 22:27
Интересующийся
Отправить личное сообщение для winston3d Посмотреть профиль Найти все сообщения от winston3d
 
Регистрация: 08.02.2013
Сообщений: 17

Как передать переменную из JS в PHP методом xhr.send() ?
Привет, подскажите пожалуйста что я не так делаю? Где ошибка?
На сервере 1 есть файл index.php содержащий следующий код:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    var url = 'http://server2/ajax.php';
    function doCallOtherDomain(){
        var XHR = window.XDomainRequest || window.XMLHttpRequest
        var xhr = new XHR();
        xhr.open('POST', url, true);
        // замена onreadystatechange
        xhr.onload = function() {
            document.getElementById('response').innerHTML = xhr.responseText
        }
        xhr.onerror = function() {
            alert("Error")
        }
        xhr.send("site="+window.location.hostname)
    }
    function callOtherDomain() {
        try {
            doCallOtherDomain()
        } catch (e) {
            alert("В этом браузере данная фича не поддерживается.")
        }
    }
    </script>
</head>
<body>
<div id="response"></div>
    <input type="button" value="Нажмите для запроса к другому домену" onclick="callOtherDomain()" />
</body>
</html>
А на сервере 2 есть файл ajax.php содержащий:
Код:
<?php
// можно ограничить домен, для которого доступен ответ
// header('Access-Control-Allow-Origin: http://javascript.ru');
header('Access-Control-Allow-Origin: *');
echo $_POST['site'];
?>
Не получается передать переменную 'site' содержащую хоть что-нибудь (в данном случае адрес сервера 1). Как мне это сделать?
Ответить с цитированием