Ajax not working, PHP, AJAX


Ajax not working, PHP, AJAX

我试图使用ajax的选择标签与2个选项,但它没有得到$_POST的某种原因。它输出"——",但不输出$_POST值,该值为1或2。我不确定我做错了什么。请看看我这里的代码,如果你找出代码的哪一部分是错误的,请用一个工作示例指出来。谢谢你。

newtest.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type = "text/javascript"> 
function ajax(url,type,theName,id) {
      $.ajax({
           type: "POST",
           url: url,
           data: { select: $(type+'[name='+theName+']').val()},
           error: function(xhr,status,error){alert(error);},
           success:function(data) {
             document.getElementById( id ).innerHTML = data;
           }
      });
}
</script>
<?php
echo "<select name = 'name' onchange = 'ajax('"newtestx.php'",'"input'",'"name'",'"output'")'>";
echo "<option value = '1'> 1 </option>";
echo "<option value = '2'> 2 </option>";
echo "</select>";
echo "<div id = 'output'></div>";
?>

newtestx.php

<?php
$name = $_POST['name'];
echo $name."---";
?>

你需要改变这一行:

echo "<select name = 'name' onchange = 'ajax('"newtestx.php'",'"select'",'"name'",'"output'")'>";

1:也许你想张贴的值。data:{select:$("select[name='name']").val()}。但是selector是false。标签是select不是input

`echo "<select name = 'name' onchange =     'ajax('"newtestx.php'",'"input'",'"name'",'"output'")'>";";` 
`data: { select: $(type+'[name='+theName+']').val()},`

2: .php将无法获取参数。因为数据的键是select,所以是$name = $_POST['select'];。最后,你想返回数据,应该使用die($name);

`$name = $_POST['name'];
 echo $name."---";`