Javascript.RU

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

Отправить данные через XMLHttpRequest
Доброго дня уважаемые коллеги. Помогите, пожалуйста, понять в чем проблема.
Хочу отправить данные с формы в php-файл посредством XMLHttpRequest. Хочу сделать отправку только на js.
Сделал вот такой код: Все сериализируется и формируется строка, но, такое впечатление, что ничего не отправляется. Потому что ответ от php-файла такой: Undefined index: name in ... on line 2 {"blablabla":null}

Подскажите пожалуйста, что я не так делаю.
form.onsubmit = function(e){

        var Data = serialize(this);
        var submitPath = document.getElementById('CallOrder').action ;

        var xhr = new XMLHttpRequest();
        xhr.open("POST", submitPath, true);
        xhr.onreadystatechange = function() {
            if (this.readyState != 4) 
               alert("Отправка данных завершена") ; 
                console.log(xhr.responseText);
           
            if (this.status != 200) {
                alert("Данные не отправились")
                return;
            }
             console.log(xhr.responseText);
        }
        alert(Data)
        xhr.send(Data);
        e.preventDefault();
    }


Содержимое php файла:
$a = $_POST['name'];
echo json_encode(array("blablabla"=>$a));


П.С. До этого отправлял только через jquery. Захотел попробовать без него.

Последний раз редактировалось Velidan, 16.02.2015 в 17:55.
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2015, 18:43
Аспирант
Отправить личное сообщение для Velidan Посмотреть профиль Найти все сообщения от Velidan
 
Регистрация: 13.02.2015
Сообщений: 32

Помогло: xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

Но теперь беда. Фильтр на аякс- запрос не пропускает дальше, может это из-за заголовка?
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу отправить данные на сервер dmitry111 Общие вопросы Javascript 2 20.02.2013 11:24
Как мне отправить данные аяксом Nuzhser jQuery 1 14.01.2013 01:00
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Не получается спарсить данные через php,проблема в javasript? strol Общие вопросы Javascript 3 14.02.2012 00:22
XMLHTTPRequest передача имя через POST dds AJAX и COMET 0 14.08.2008 14:44