如何找回:
<div id="test">
<?php
if (isset($_POST['sweets']))
{
ob_clean();
echo $_POST['sweets'];
exit;
}
?>
</div>
<form id="a" action="" method="post">
<select name="sweets" onchange="change()" id="select1">
<option >Chocolate</option>
<option selected="selected">Candy</option>
<option >Taffy</option>
<option >Caramel</option>
<option >Fudge</option>
<option >Cookie</option>
</select>
</form>
<!-- Script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function change() {
var sweets = $("#select1").val();
$.ajax({
type: "POST",
data: { sweets: sweets },
success: function(data) {
$("#test").html(data);
}
});
}
</script>
将值传递给 php 字符串:
$string = $_POST['sweets'];
<!-- I'm looking for this: -->
我希望这是可能的。我在 stackoverflow 和 google 上寻找答案,但找不到适合我的目的的答案。
对于同一个页面的ajax/PHP脚本,可以将PHP放在脚本的最前面,当有POST提交数据时以exit结束
为了使其更有意义,您应该返回与您通过 POST 提交的内容相关的内容(这是甜食的类型),作为示例,我们展示其一般定义。我们可以使用 switch,这是用于此目的的常用结构:
switch ($string) {
case "Chocolate":
echo "Chocolate is made from cocoa beans, the dried and fermented seeds of the cacao tree";
break;
case "Candy":
echo "Candy is a sweet food made from sugar or chocolate, or a piece of this";
break;
case "Taffy":
echo "Taffy is a type of candy invented in the United States, made by stretching and/or pulling a sticky mass of a soft candy base";
break;
case "Caramel":
echo "Caramel is made of sugar or syrup heated until it turns brown, used as a flavouring or colouring for food or drink";
break;
case "Fudge":
echo "Fudge is a dense, rich confection typically made with sugar, milk or cream, butter and chocolate or other flavorings";
break;
case "Cookie":
echo "A cookie (American English) or biscuit (British English) is a baked snack or dessert that is typically small, flat, and sweet";
break;
}
exit;
}
?>
所以以下是示例代码:
<?php if (isset($_POST['sweets']))
{
// ob_clean();
$string = $_POST['sweets'];
switch ($string) {
case "Chocolate":
echo "Chocolate is made from cocoa beans, the dried and fermented seeds of the cacao tree";
break;
case "Candy":
echo "Candy is a sweet food made from sugar or chocolate, or a piece of this";
break;
case "Taffy":
echo "Taffy is a type of candy invented in the United States, made by stretching and/or pulling a sticky mass of a soft candy base";
break;
case "Caramel":
echo "Caramel is made of sugar or syrup heated until it turns brown, used as a flavouring or colouring for food or drink";
break;
case "Fudge":
echo "Fudge is a dense, rich confection typically made with sugar, milk or cream, butter and chocolate or other flavorings";
break;
case "Cookie":
echo "A cookie (American English) or biscuit (British English) is a baked snack or dessert that is typically small, flat, and sweet";
break;
}
exit;
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<select name="sweets" onchange="change()" id="select1">
<option value="">Please select</option>
<option >Chocolate</option>
<option >Candy</option>
<option >Taffy</option>
<option >Caramel</option>
<option >Fudge</option>
<option >Cookie</option>
</select>
<br><br>
<div id="test"></div>
<script>
function change() {
var sweets = $("#select1").val();
$.ajax({
type: "POST",
data: { sweets: sweets },
success: function(data) {
$("#test").html(data);
}
});
}
</script>