2015-05-20 7 views
0

Я хочу отправить запрос на отправку и получить эхо из файла php. Но я не могу найти ошибку, всегда получите уведомление не определено индекс ...ошибка при отправке запроса POST через ajax

пожалуйста, не JQuery ...

<form id="register" method="POST" action="register-action.php"> 

    <input type="text" name="first_name" placeholder="Onoma"><br> 
    <input type="text" name="last_name" placeholder="Epitheto"><br> 
    <input type="text" name="mail" placeholder="E-mail"><br> 
    <input type="password" name="pass" placeholder="password"><br> 

    <select name="eidikotita_id"> 
     <?php while($eid = $eidikotites->fetch(PDO::FETCH_ASSOC)): 
      echo "<option value={$eid['id_eidikotitas']}>{$eid['titlos']}</option>"; 
     endwhile; ?> 
    </select> 

    <input type="submit" value="Register"><br> 
</form> 

//////////////// ///////////////////////////////////////////////

var mail_input = document.querySelector("#registerinput[name='mail']").value; 
alert(mail_input); 
document.querySelector("#register input[name='first_name']").focus(); 
document.querySelector("#register input[name='mail']").onblur = function() { 

var request = new XMLHttpRequest();//instantiate an XMLHttpRequest object 
request.open("POST", "register-action.php", true);//Specifying the Request 
request.setRequestHeader("Content-Type", "text/plain");//POST requests,for example, need a “Content-Type” header 
request.send(mail_input);//specify the optional request body. GET requests never have a body, so you should pass null or omit the argument. 
}; 

////////////////////////////////////////////// ///////////////////////////////

<?php 
echo $_POST['mail']; 
?> 

ответ

0

Только print_r() Данные POST, чтобы узнать, в чем проблема.

xhr.send() должно выглядеть следующим образом: xhr.send('mail=' + encodeURIComponent(email)), потому что вы хотите $_POST['mail']. Также есть проблема с вашим селектором, который должен быть "#register input[name='mail']".

0
document.querySelector("#register input[name='first_name']").focus(); 
document.querySelector("#register input[name='mail']").onblur = function() { 

    var mail_input = document.querySelector("#register input[name='mail']").value; 
    var request = new XMLHttpRequest();//instantiate an XMLHttpRequest object 
    request.open("GET", "register-action.php?mail="+mail_input, true);//Specifying the Request 
    request.setRequestHeader("Content-Type", "text/plain");//POST requests,for example, need a “Content-Type” header 
    request.send(encodeURIComponent(mail_input));//specify the optional request body. GET requests never have a body, so you should pass null or omit the argument. 
//////send succcess 

    if (request.readyState === 4 && request.status === 200) { 
     request.onreadystatechange = function(){ 
     console.log(request.responseText);  
     } 
    } 
}; 
Смежные вопросы