Javascript 如何使用Jquery/Ajax获取HTML选择选项文本并发布到PHP变量

Javascript 如何使用Jquery/Ajax获取HTML选择选项文本并发布到PHP变量,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,HTML <form method="post"> <select name="MySelect" onchange="run(this)"> <option value="year 1">year 1</option> <option value="year 2">year 2</option> <option value="year 3">year 3&

HTML

<form method="post">
    <select name="MySelect" onchange="run(this)">
        <option value="year 1">year 1</option>
        <option value="year 2">year 2</option>
        <option value="year 3">year 3</option>
    </select>
</form>
数据opValue存储在$\u POST数组中。然后在下面我尝试打印数组,存储在变量中

Home.php

<?php
       print_r($_POST);
     if(isset($_POST['opValue']))
     {
       echo 'set';
       print_r($_POST);
       $option = $_POST['opValue'];
       echo $option ;
     }
?>

您无法看到数据从PHP中被回送出来,因为您没有查看正在获取的数据

您的JavaScript正在接受HTTP响应,然后发出“成功”警报


data
参数改为success函数。

您需要一个函数来完成此操作。 只要在任何你想显示选项的地方调用函数

function mySelect(){

    $optArray = array('year 1','year 2','year 3');
    $options = '';
    foreach($optArray as $items){
        $options.="<option value='$items'>" . $items ."</option>";
    }
    return $options;
}
函数mySelect(){
$optArray=array('year 1'、'year 2'、'year 3');
$options='';
foreach($optArray作为$items){
$options.=''.$items.'';
}
返回$options;
}
调用函数:

<select>
  <?= mySelect() ?>
</select>


“它没有到达回音集”-你怎么知道?如何查看响应?不相关,但可以使用
$(sel).val()
获取所选值请停止用户
警报()
进行故障排除。改为使用
console.log()
。应在
data
对象中返回回声,以便
console.log
查看
数据是否存在,而不仅仅是发出警报success@user1638362,该代码是服务器端的。如果发现问题,请编辑此答案和解决方案,问题是你没有查看你要返回的数据。现在你是。解决方案是“查看<代码>数据”。是否需要在成功函数中为数据分配OpValue?@user1638362-您已经这样做了。这就是
echo$选项
已经在做了。所以我没有在页面上看到它,只有在Http响应中看到它。所以我需要寻找一些东西来将http响应$option变量输出到页面?我说的对吗/
function mySelect(){

    $optArray = array('year 1','year 2','year 3');
    $options = '';
    foreach($optArray as $items){
        $options.="<option value='$items'>" . $items ."</option>";
    }
    return $options;
}
<select>
  <?= mySelect() ?>
</select>