2017-02-22 27 views
0

テーブルから単純なAJAXリクエストを実行しようとしていますが、私がvar dumpを実行すると結果が未定義に戻ってきますか?ここでAJAXリクエストは「未定義」として返されます

は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(); 
} 

PHPで動的にこれをやろうとしているとき、それは同じことをやっていたので、私はID 1に対して厳密に選択し、フォームを作成しているので、私はあることを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); 

私は、有効なを持っている今のところ確認テスト済みの接続。 javascriptの変数「strが」定義されていないので、あなたはそれを持っている

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

印刷あなたのクエリを、あなたが取得しているか確認してください。

スタートあなたは次のように機能書き込み? –

+0

変数strとして何を送信しますか? –

+1

ここで 'id = '"。$ q。 "'"; 'id = '"のように数字の周囲の空白を削除します。 $ q。 " – RiggsFolly

答えて

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

:しかし、結果はと戻ってきます。それをチェックし、有効なIDを送信してください。

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

    // str is not empty 
} 
関連する問題