1

这就是我想要做的。

我有以下脚本,它将在同一页面(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 变量中以便立即访问。

有人可以告诉我如何做到这一点,或任何其他方法来实现这一点。

4

4 回答 4

2

如果您想访问同一页面,AJAX您需要在打印页面的其余部分之前结束脚本,代码中的第一行应该是:

<?php
    if(isset($_POST['result']) &&  ($_POST['result'] != '')){
            if($_POST['result'] == 77){
                echo "My selected code: ".$_POST['result'];
            } else {
                echo "something else";
            }
            die();
    }
?>
于 2012-08-14T10:06:42.490 回答
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']];
于 2012-08-14T10:12:45.027 回答
0

嗯,不确定您的意思,但是如果您尝试将 ajax 发布的数据用作同一页面中的 php 变量,那么我相信您可以尝试使用 jquery 加载方法来刷新所需的 DOM 节点。由于我不确定我是否理解您的问题,所以我不会详细说明。让我知道这是否是你想要做的。

于 2012-08-14T10:14:23.030 回答
0

除了 Mihai 的建议,我认为您需要修改获取选择框值的 jquery 代码

var optionValue = jQuery("#citycountrystores").val();
于 2012-08-14T10:15:01.393 回答