繁体   English   中英

jQuery-将javascript变量传递给PHP AJAX

[英]Jquery- Pass javascript variable to PHP AJAX

我试图将变量从我的javascript代码传递到服务器端PHP代码。 我知道这必须通过ajax调用来完成,我相信我已经正确完成了,但是我没能做到。 到目前为止,这是我的代码:

jQuery的

$(document).ready(function(){
    $(".search-box").keyup(function(){
        $.ajax({
        type: "POST",
        url: "readCountry1.php",
        data: { cat: $(this).val() },
        beforeSend: function(){
            $(".search-box").css("background","#FFF");
        },
        success: function(data){
            $(".suggesstion-box").show();
            $(".suggesstion-box").html(data);
            $(".search-box").css("background","#FFF");
        }
        });
    });
});

function selectCountry(val) {
    $(".search-box").val(val);
    $(".suggesstion-box").hide();
}

HTML

<form>
    <div class="frmSearch">
        <input type="text" class="search-box" placeholder="Select Category" />
        <div class="suggesstion-box"></div>
    </div>
    <?php
    if(isset($_POST['cat'])){
    ?>
        <div class="frmSearch1">
            <input type="text" class="search-box1" placeholder="Enter Location" />
            <div class="suggesstion-box1"></div>
        </div>
    <?php
    }
    ?>
</form>

在上面的代码中,当我在第一个框中选择一个值时,我想显示第二个输入框。 这是我的

readCountry1.php

<ul class="country-list">
    <?php
        require_once("dbcontroller.php");
        if(!empty($_POST["cat"])) {
            $query ="SELECT cat FROM catlist WHERE cat like '%$_POST[cat]%' UNION SELECT scat FROM catlist WHERE scat like '%$_POST[cat]%' ORDER BY cat";
            $result = mysqli_query($mysqli, $query);
            if(!empty($result)) {
                while($row=mysqli_fetch_array($result))
                {
    ?>
                    <li onClick="selectCountry('<?php echo $row["cat"]; ?>');"><?php echo $row["cat"]; ?></li>
    <?php 
                }
            }
        }
    ?>
</ul>

我正在尝试将我的JavaScript变量“ cat”传递给php($ cat),但是在此过程中出现了问题。

在ajax中,以对象格式设置数据:

data: { cat: $(this).val() },

像这样发送您的响应表单服务器...

if(!empty($result)) {
    $data = "<ul>";
                while($row=mysqli_fetch_array($result))
                {
                    $cat = $row["cat"];
                   $data.= "<li onClick='selectCountry(".$cat.")'>".$cat."</li>";
                }
     $data.="</ul>";         
            }
            echo $data;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM