[英]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.