簡體   English   中英

PHP 運行 AJAX 腳本只工作一次

[英]PHP running AJAX script works only once

我有一個奇怪的問題,發生在我的 PHP 腳本上,在頁面加載 AJAX 腳本時運行,並且在 AJAX 腳本第二次運行后它工作並將數據發送到 PHP,但我似乎不明白為什么 PHP 腳本不當我清理輸入文本框並再次輸入時,第二次處理傳入的 POST 請求,我得到一個空白響應。我的代碼用於更多解釋。

索引.php :

<input type="text" onkeyup="searchmedia(this)" placeholder="Search for seller with UNIQUE ID or Name.">

<div id="resut" style="margin-top:-24px!important;">
    //where the ajax result is returned
</div>
<div style="margin-top:-24px!important;" id="normal">
    //bla bla data here
</div>
<div id="hui" style="display:none;"><img src="../ajax5.gif">
</div>

<script>
    function searchmedia(e) {
        var tuq = $(e).val();
        if (tuq == "") {
            $('#resut').hide();
            $('#normal').show();
            $('#hui').hide();
        } else {
            $('#normal').hide();
            $('#hui').show();
            $.ajax({
                type: 'POST',
                url: 'sellersmessageajax.php',
                data: {tuq: tuq},
                timeout: 5000,
                cache: false,
                success: function (r) {
//console.log(r); 
                    $('#resut').html(r);
                    $('#normal').hide();
                    $('#hui').hide();
                },
                error: function () {
                    alert("Could not search, reload the page and try again.");
                    $('#normal').show();
                    $('#hui').hide();
                }
            });
        }
    }
</script>

賣家信息ajax.php:

<?php include('../connect.php'); ?>


<?php
if (isset($_POST['tuq']))
{

    $term = $_POST['tuq'];

    $term = mysqli_real_escape_string($con,
        $term); //WHEN I ALERT HERE THE SECOND TIME I SEE THE INPUT TEXT DATA THAT CAME IN BUT PLEASE CHECK AFTER THE **FOREACH**


    $condition = '';
    $query     = explode(" ", $term);
    foreach ($query as $text)
    {
        $condition .= "name LIKE '%" . mysqli_real_escape_string($con,
                $text) . "%' OR reign_uniqeer LIKE '%" . mysqli_real_escape_string($con, $text) . "%' OR ";
    }

//WHEN I ALERT HERE I GET NOTHING

    $condition = substr($condition, 0, -4);
    $zobo      = "ORDER BY name";
    $sql_query = "SELECT * FROM sellers_login WHERE " . $condition . $zobo;
    $result    = mysqli_query($con, $sql_query);
    if (mysqli_num_rows($result) > 0)
    {
        while ($row = mysqli_fetch_array($result))
        {
            $v_ida            = $row['id'];
            $v_namea          = $row['name'];
            $v_reign_uniqeera = $row['reign_uniqeer'];
            ?>

            <div style="border-bottom:0.1px solid #eee;padding-bottom:20px;margin-top:20px;">
                <a class="zuka" title="<?php echo $v_ida ?>" id="<?php echo $v_ida ?>"
                   style="color:#666;text-decoration:none;outline:none!important;cursor:pointer;">
                    <b style="color:blue;"><?php echo $v_namea ?></b>
                    <br/>
                    <div style="height:auto;max-height:30px;">
                        <b>UNIQUE ID :</b> <b style="color:red;"><?php echo $v_reign_uniqeera ?></b>
                    </div>
                </a>
            </div>

            <?php
        }
    }
    else
    {
        ?>
        <h1 class="zuka" style="text-align:center;margin-top:20%;"> No result found.</h1>
        <?php
    }
}
?>

第二次清除數據后結果集隱藏。 第二次數據返回但它隱藏

ajax成功塊中添加這一行

$('#resut').show(); // Add this line

您錯誤地發送了 var tuq。 嘗試這個:

 data :  {"tuq": tuq}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM