2017-02-22 18 views
0

Я пытаюсь выполнить простой запрос AJAX из таблицы, но когда я var dump, результат возвращается как неопределенный?Запрос AJAX возвращает как 'undefined'

Вот это JS:

function showUser(str) { 
    if (str=="") { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 
    if (window.XMLHttpRequest) { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } else { // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() { 
    if (this.readyState==4 && this.status==200) { 
     document.getElementById("txtHint").innerHTML=this.responseText; 
    } 
    } 
    xmlhttp.open("GET","actions/teamData.php?q="+str,true); 
    xmlhttp.send(); 
} 

я создал форму, выбрать строго против ID 1, потому что при попытке сделать это динамически с Php он делает то же самое, так что я поставил его на 1, чтобы быть уверен, что на данный момент:

<option value="1">' . $row['name'] . '</option> 

это PHP делает запрос:

$q = intval($_GET['q']); 

var_dump($_GET); 

$sql = "SELECT * FROM team WHERE id = ' " . $q . " ' "; 
$result = mysqli_query($conn,$sql); 

echo "<table> 
<tr> 
<th>Team name</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 

mysqli_close($conn); 

У меня есть действительный которое было протестировано. Но результат возвращается как:

array(1) { ["q"]=> string(9) "undefined" } 
+0

печати запрос и проверить, что вы получаете? –

+0

Что вы отправляете как переменную str? –

+1

Здесь 'id = '". $ Q. "'"; 'Удалять пробелы вокруг номера так: id = '". $ q. "';'; – RiggsFolly

ответ

3
array(1) { ["q"]=> string(9) "undefined" } 

Вы получили это потому, что Javascript переменная «ул» не определено. Просто проверьте его и отправьте действительный идентификатор.

Вводите вы действуете в следующем виде:

function send_xhr(str) { 
    str = str || ''; 
    if (!str) { // str is empty 
    // Do something 
    } 

    // str is not empty 
}