2

次のスクリプトを使用した後、データ アラートが表示されません

$(document).ready(function() {
    $('.autosuggest').keyup(function() {
        var search_term = $(this) .attr('value');
        $.post('search.php', {search_term:search_term}, function(data) {
            alert(data);
        });

    });
});

そして、次のPHPコードを使用して

<?php
include('system/includes/db_connect.php');
if (isset($_POST['search_term']) == true && empty($_POST['search_term']) == false) {

    $search_term = mysql_real_escape_string($_POST['search_term']);
    $query = mysql_query("SELECT username FROM promoties WHERE username LIKE '$search_term%'");
    while (($row = mysql_fetch_assoc($query)) !== false) {
        echo '<li>', $row['username'], '</li>';
    }
}
?>

アラートに「テスト」を入れると問題なく動作しますが、データにアラートを出すと空のアラート ボックスが表示されます。

また、PHPコードを単独でテストしましたが、完全に動作します..

どうしたの?ありがとう!

4

2 に答える 2

2

あなた.autosugestが入力である場合(私はそれだと思います)...その値を取得する必要があります

これを交換

var search_term = $(this) .attr('value');    

var search_term = $(this) .val();   

attr()ここでは必要ありません

于 2013-03-17T17:13:16.790 に答える
1
Use simple falsy value check.

if(isset($_POST['search_term']) && !empty($_POST['search_term'])) {
         // code here
}

または for ループの前にエコーを書きます。これは、クエリが実行されているかどうかをテストします。

于 2013-03-17T17:20:16.773 に答える