javascriptコードからサーバーサイドのPHPコードに変数を渡そうとしています。私はそれが私がそれを得ることに失敗したが、私は正しく行ったと信じているアヤックスコールを介して行う必要があります知っている。ここに私のコードは、私がこれまで持っている: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>
iの値が最初に選択されたときに、第2の入力ボックスを表示したいですボックス。そして、ここで私はPHP($猫)に私のjavascriptの変数「猫」を渡すしようとしている私の
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>
である、しかし、私はどこかの道に沿って間違って行ってきました。オブジェクト形式でのAjaxの設定データで
あなたはPOSTとしてAJAX要求を設定しています、データ引数を文字列として指定しています。私はこれの振る舞いが何であるか分かりませんが、代わりにオブジェクトを追いかけることを意図していませんか? –
'data:{cat:$(this)} .val()}、' – Jeff
@Chris AJAXについての知識が十分ではありません...これの解決策を教えてください...私が望むのは、ユーザーが最初のボックスで値を選択したときにボックス... – Ashish