通过AJAX将JavaScript变量传递给PHP

通过AJAX将JavaScript变量传递给PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我遵循的指南,我得到了如何工作的基本概念 我的代码: PHP: $.post('getuser.php'此语法是一个名为jQuery的javascript库所独有的。此外,$q不是一个整数它是一个字符串考虑到最初执行的DB查询,那么为什么要将$\u GET['q'包装为intval()?$.post('getuser.php'这个语法是一个名为jQuery的javascript库所独有的。而且,$q不是一个整数它是一个字符串考虑到最初执行的DB查询,那么为什么要用intval()包装$\u GE

我遵循的指南,我得到了如何工作的基本概念

我的代码:

PHP:
$.post('getuser.php'
此语法是一个名为
jQuery
的javascript库所独有的。此外,
$q
不是一个
整数
它是一个
字符串
考虑到最初执行的DB查询,那么为什么要将
$\u GET['q'
包装为
intval()

$.post('getuser.php'
这个语法是一个名为
jQuery
的javascript库所独有的。而且,
$q
不是一个
整数
它是一个
字符串
考虑到最初执行的DB查询,那么为什么要用
intval()包装
$\u GET['q']
?太好了!我不熟悉
intval
或它的用途,但这是有道理的。它就在那里,因为这是教程所说的,但是的,这绝对是一个字符串。我把它拿出来,代码现在运行得很好。谢谢@Ohgodwhy。我希望我能投票给你或其他什么,但我没有足够的声誉(@Ohgodwhy我建议您使用您所写的准确注释输入答案,以便我们结束问题。Will+1。我也意识到了教程中的代码为什么会这样。他们最初的示例在示例中使用了
Peter Griffin
,因此他们将响应封装在
intval
中。无论如何,非常感谢您的支持你的帮助!@lordterrin请这样问题就可以正确地解决了。
<?php
include('./db.php');
$PM = mysqli_query($con, "SELECT DISTINCT PMName FROM report WHERE PMname <> '' ORDER BY PMName ASC");
?>
<select class="navbar-inverse" placeholder="PM Name" name="PMName"onchange="showUser(this.value)">
<?php
while ($row = mysqli_fetch_row($PM)) {
$selected = array_key_exists('PMName', $_POST) && $_POST['PMName'] == $row[0] ? ' selected' : '';
printf(" <option value='%s' %s>%s</option>\n", $row[0], $selected, $row[0]);
}
?>
</select>
<div id="txtHint"><b></b></div>
<script>
    function showUser(str) {
      if (str !==".PM") {
        alert(str);
        if (str=="") {
          document.getElementById("txtHint").innerHTML="";
          return;
        } 
        if (window.XMLHttpRequest) {
          // code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
        } else { // code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function() {
          if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
          }
        }
      }
      xmlhttp.open("GET","getuser.php?q="+str,true);
      xmlhttp.send();
    }
</script>
<?php
$q = intval($_GET['q']);
include('./db.php');
$sqlPM= "SELECT * FROM report WHERE PMName = '".$q."'";
$result     = mysqli_query($con, $sqlPM);
?>

<table>
<?php
echo $q ;
?>
</table>