这将是我第一次使用jQuery和Ajax(以及一般的Jacascript),所以如果它是垃圾请不要开枪!
我想要达到的目标是:拥有一个页面product.php
,其中展示了一个带有漂亮的img和描述的产品。在底部放置一个<select>
menù:当单击<option>
时,jQuery代码会将代码加载到tester.php
,并将单击选项的value
传递给它。
.php脚本将分析value
,并根据其值,发送查询以提取相对价格和img。现在,在这之前,我写了一个非常简单的代码(遵循官方文档和这里的一些答案),它应该将变量$return
传递回HTML页面,但我想回调它不起作用我不喜欢没有足够的jQuery经验来找到问题和相关的解决方案。
任何人都可以向我解释为什么这不起作用? 谢谢!
ajaxpost.html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#menuSelect").on("click", function(){
var str = $("#menuSelect").val();
$.ajax({
type: "POST",
url: "tester.php",
data: { value: str },
success: function(data){
console.log(data);
}
})
})
});
</script>
</head>
<body>
<div id="txt" >
</div>
<select id="menuSelect">
<option value="0"></option>
<option value="1">OPT1</option>
<option value="2">OPT2</option>
</select>
tester.php
<?php
$value = $_POST["value"];
function provaAJAX($value) {
switch ($value) {
case "0":
$return = "First option selected";
break;
case "1":
$return = "Second option selected";
break;
case "2":
$return = "Third option selected";
break;
}
return $return;
}
$return = provaAJAX($value);
答案 0 :(得分:3)
您应该打印要传递回JS的变量:
echo $return;
希望这有帮助。
答案 1 :(得分:0)
要传回JS,您应该打印变量 试试这个:echo $ return;