使用AJAX将javascript变量的值传递给PHP变量不起作用

时间:2018-07-31 09:22:13

标签: javascript php jquery ajax

我是编程新手。抱歉,我的代码很乱。我想问一下从JS变量到PHP变量的传递值。

我有2个文件。

首先是 ajaxvariable4.php ,其中包含HTML和jQuery AJAX。

<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    </head>

    <body>
        <form>
            <select name="target" id="target">
                <option value="Ferrari">Car</option>
                <option value="Wimcycle">Bicycle</option>
            </select>
            <script>
                        $( "#target" ).change(function() {
                        var vehicle=$('#target option:selected').val();

                            $.ajax({
                            type: "POST",
                            data: { 'vehicle': vehicle },
                            url: "passingajax.php",
                            success: function(json) {
                                $("#tb").val(vehicle);
                                }
                            });
                        });
            </script>
            <input type="text" id="tb">
        </form>
    </body>
</html>

第二个是 passingajax.php ,其中包含PHP变量以保存JS变量中的值。

 <?php 
if( isset($_POST['vehicle']) )
{
     $vehicle= $_POST['vehicle'];
     echo $vehicle;
}else{
    echo "Data doesn't exist";
}
?>

当我执行 ajaxvariable4.php 时,ajax调用成功,并且 id = tb 的列填充了在option中选择的值。但是当我执行 passingajax.php 时,输出为数据不存在。因此,我假设 passingajax.php 中的变量车辆没有从JS变量中获得值。

我的问题是ajax调用是否成功,为什么 passingajax.php 中的变量车辆没有从JS变量获取值?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

$('#target').change(function () { 
    var vehicle = $("#target >option:selected").val(); 
}

表格:

 <select name="target" id="target" onChange="test(this.value)">
            <option value="Ferrari">Car</option>
            <option value="Wimcycle">Bicycle</option>
 </select>

jQuery:

function test(t){
  console.log(t.value);
}