繁体   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