这就是我想要做的事情。
我有以下脚本,它将在同一页面上的index.php中发布数据(index.php):
<script type="text/javascript">
function loadabc(){
var optionValue = jQuery("select[name='citycountrystores']").val();
jQuery.ajax({
type: "POST",
url: "index.php",
data: ({result: optionValue}),
success: function(response){
jQuery("#cityAjax").html(response);
jQuery("#cityAjax").show();
}
});
我想在php中访问POST数据。 php语句是用同一个javascript编写的。 我需要在php if语句中访问$ _POST ['result'],如:
<?php
if($check==$_POST['result'])
{
code....
.........
}
?>
}//Function loadabc end
</script>
这是我的选择框
<select id="citycountrystores" name="citycountrystores" onchange="loadabc();">
<option value="76">City1</option>
<option value="77">City2</option>
<option value="78">City3</option>
</select>
我可以在控制台中看到POST值(76或77或78)。但我想知道如何将它存储在php变量中以便立即访问。
有人可以告诉我如何做到这一点,或任何其他方法来实现这一目标。
答案 0 :(得分:2)
如果要从AJAX
访问同一页面,则需要在打印其余页面之前结束脚本,代码中的第一行应为:
<?php
if(isset($_POST['result']) && ($_POST['result'] != '')){
if($_POST['result'] == 77){
echo "My selected code: ".$_POST['result'];
} else {
echo "something else";
}
die();
}
?>
答案 1 :(得分:0)
在像这样的php数组中声明你的城市
$cities = array(
76 => "City 1",
77 => "City 2",
78 => "City 3",
);
然后在选项中使用这些值,你可以做这样的事情
<select id="citycountrystores" name="citycountrystores">
<?php foreach($cities as $value => $label) {
echo "<option value=\"{$value}\">{$label}</option>";
} ?>
</select>
然后,您也可以使用该数组通过在发布的值索引处查看数组来查看提交的值。
$submittedCity = $cities[$_POST['result']];
答案 2 :(得分:0)
答案 3 :(得分:0)
除了Mihai的建议,我认为您需要修改获取selectbox值的jquery代码
var optionValue = jQuery("#citycountrystores").val();