Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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). Как мне это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2013, 10:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от winston3d
Не получается
Ну что значит не получается? Мы должны гадать что у вас там не получается? Можно хотя бы описать в чем это выражается? Какие ошибки в консоли? Какая картина на вкладке Сеть?
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2013, 14:44
Интересующийся
Отправить личное сообщение для winston3d Посмотреть профиль Найти все сообщения от winston3d
 
Регистрация: 08.02.2013
Сообщений: 17

Ну переменная просто не отправляется. Данные с ajax.php получаю нормально, например если напишу echo 'Hello world!'; то получу эту надпись в ответ. Просто не могу отправить переменную 'site'
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2013, 16:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Не уверен, но может быть на сервере нужно выставить заголовок Access-Control-Allow-Methods: POST, OPTIONS ?
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2013, 17:49
Интересующийся
Отправить личное сообщение для winston3d Посмотреть профиль Найти все сообщения от winston3d
 
Регистрация: 08.02.2013
Сообщений: 17

Не помогает, я даже так делал:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
Ответить с цитированием
  #6 (permalink)  
Старый 09.02.2013, 20:29
Интересующийся
Отправить личное сообщение для winston3d Посмотреть профиль Найти все сообщения от winston3d
 
Регистрация: 08.02.2013
Сообщений: 17

Сам разобрался, оказывается при отправке, обязательно нужно указывать 'Content-Type'. Т.е дописать xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать значение переменной из php в js wayzer Элементы интерфейса 8 22.02.2015 21:20
Как передавать параметры из php скрипта в js imissyouso Общие вопросы Javascript 3 01.08.2012 18:24
Подскажите как передать по ссылке команду для js Alexanderos jQuery 8 30.10.2010 04:31
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
Переменная JS как индекс в PHP mirage009 Серверные языки и технологии 4 28.02.2010 21:01