将javascript变量分配给php变量

时间:2013-12-18 08:54:21

标签: javascript php codeigniter jquery

如何将来自select选项的javascript变量传递给PHP变量? 我想根据用户选择设置PHP变量 我试过那段代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script>
    $(function(){
        $("select[name='sex']").change(function () {
            var submitSearchData = jQuery('#extended-search').serialize();
            var selectedValue=$('#sex').val();
            jQuery.ajax({
                type: "POST",
                data: 'selected=' + selectedValue
                url: "ajax.php",
                success: function () {
                    // alert(submitSearchData);
                    alert(selectedValue);
                }
            });
        });
    });
</script>
<form id="extended-search" >
    <div class="input-container">
        <select class="select" name="sex" id="sex">
            <option value="0">All</option>
            <option value="1">M</option>
            <option value="2">F</option>
        </select>
    </div>
</form>
<?php
var_dump ($_REQUEST['selected']); //that print NULL don't know why!
?>

4 个答案:

答案 0 :(得分:1)

您传输的数据格式错误。数据作为对象传递。请参考下文。

 $("select[name='sex']").change(function () {
    var submitSearchData = jQuery('#extended-search').serialize();
    var selectedValue=$('#sex').val();
   jQuery.ajax({
    type: "POST",
    data: {'selected': selectedValue},
    url: "ajax.php",
    success: function (response) {
    // alert(submitSearchData);
    alert(response);
    }
   });
});

答案 1 :(得分:0)

在同一时间内无法实现:

yourfile - &gt; ajax - &gt; yourfile(这是值,但你不能在当前网页上看到这个,除了ajax而不是ajax,发送帖子表格)

答案 2 :(得分:0)

我希望这会对你有帮助......

dataType: "html",
data: {'selected': selectedValue},

然后你可以通过$ _POST / $ _ REQUEST数组获得它,因为你已经将类型设置为post。

答案 3 :(得分:0)

$ _ REQUEST为null,因为它与您发送的ajax请求无关。试试这个例子:

<?php
    if (isset($_POST["selected"])) {
    echo $_POST["selected"];
} else {
?>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <form id="extended-search">
            <div class="input-container">
                <select class="select" name="sex" id="sex">
                    <option value="0">All</option>
                    <option value="1">M</option>
                    <option value="2">F</option>
                </select>
            </div>
        </form>
        <script>
        $(function() {
            $("select[name='sex']").change(function () {
                var selected = $(this).val();
                $.ajax({
                    type: "POST",
                    data: {
                        selected: selected
                    },
                    url: "ajax.php",
                    success: function (data) {
                        alert(data);
                    }
                });
            });
        });
        </script>
    </body>
</html>

<?php } ?>

编辑:

我更新了脚本并对其进行了测试。您的代码中有一些错误。希望这对你有用。