在php中存储jquery.ajax POST数据

时间:2012-08-14 09:59:57

标签: php javascript ajax jquery

这就是我想要做的事情。

我有以下脚本,它将在同一页面上的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 个答案:

答案 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)

嗯,你不确定你的意思,但是如果你试图在同一页面中使用ajax发布的数据作为php变量,那么我相信你可以尝试利用jquery加载方法来刷新所需的DOM节点。 因为我不确定我是否理解你的问题,所以我不会详细介绍。 Lemme知道你是否正在尝试这样做。

答案 3 :(得分:0)

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

var optionValue = jQuery("#citycountrystores").val();