为什么我的php函数不是由jquery $ .get执行的

时间:2016-03-16 15:56:37

标签: javascript php jquery html

我在HTML文件中有一个JavaScript,可以在$ .get jquery API中调用php文件。当我在运行WAMP的计算机上运行HTML文件时(对于php),我无法在屏幕上获得php函数的结果,既不是h1标签的文本也不是打印功能的输出。非常感谢您的回答。

此致

这是我的html文件AJAXTest.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/xml; charset=iso-8859-1" />

 <script type = "text/javascript"
      src = "jquery-1.3.2.min.js">

 </script>

<script type = "text/javascript">    
$(init);

function init(){
 alert("init passage 2" + " Andy");
  $.get("http://localhost/greetUser.php", { "userName": "Andy" }, processResult);
  alert("processresult passage" + data);
  $("#output").html(data);
}  

function processResult(data, textStatus){
alert("processresult passage" + data);
  $("#output").html(data);
}
</script>
<title>AJAXTest.html</title>
</head>
<body>
 <h1>Test AJAX</h1>

 <div id = "output">
   C’est la sortie par défaut
 </div>

</body>
</html>

这是我的php文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/xml; charset=iso-8859-1" />
<title>greetUser.php</title>
</head>
<body>
<div>
  <h1>Réponse</h1>
<?php
 $userName = $_REQUEST["userName"];
 print "<p>Salut, $userName!</p> ";
?>
 </div>
 </body>
 </html>

2 个答案:

答案 0 :(得分:1)

看起来一切都应该在很大程度上起作用,但我能看到的一件事就是破坏它,就是你拥有

  alert("processresult passage" + data);
  $("#output").html(data);

在$ .get调用之后直接在init()函数内部调用。 在执行的这一点上,&#39;数据&#39;变量不存在并使用它将导致错误并停止所有javascript继续,因为执行必须等到返回请求才能处理它(在processResult函数中,您似乎正在正确处理)< / p>

删除这些行,我认为应该可以解决您的问题。

答案 1 :(得分:-1)

试试这个:

<script type = "text/javascript">    
init();

function init(){
    $.post("http://localhost/greetUser.php", { "username": "Andy" }, function(data,textStatus){
        $("#output").html(data);
    });     
}  
</script>

更新

我不理解downvote,但是如果你尝试这个,它可以工作:

<script type = "text/javascript">    
init();

function init(){
    $.post("http://localhost/file.php", { "username": "Andy" }, function(data,textStatus){            
        $("#output").html(data);
    });     
}  
</script>
<title>AJAXTest.html</title>
</head>
<body>
 <h1>Test AJAX</h1>    
 <div id = "output">
   C’est la sortie par défaut
 </div>   
</body>
</html>

PHP文件:

<?php
 $userName = $_POST["username"];
 print "<p>Salut, $userName!</p> ";
?>