0

我在从 AJAX 对 php 文件的一个非常基本的请求时遇到问题。我正在通过 XAMPP 运行所有这些东西。我正在尝试使用此代码执行的操作是在单击提交按钮后回显在文本框中键入的名称,并将结果发布在 div“结果”中。我这样做是为了尝试清除另一个脚本中的错误,但到目前为止它还不太顺利。

<html> 


<head>
<script type="text/javascript">
function go() {
var request;
 if(window.XMLHttpRequest) {
 request = new XMLHttpRequest();

 }   
     else {

     request = new ActiveXObject("Microsoft.XMLHTTP");
     }
     var uname = document.getElementById("name").value;
     request.onreadystatechange= function() {
         if(request.readyState == 4) {

             document.getElementById("result").innerHTML = response.Text;


             }


        }
        url = "win.php?name="+uname;
        request.open("GET", url, true);
        request.send();
     }
 </script>

   </head>

 <body>
  Name:<input type="textbox"  name="jesus" id="name" />    
  <input type="button" value="Submit"  onlick="go()" />
  <div id ="result"> Result:</div>
   </body>
   </html>



<?php


  $name = $_GET['name'];
  echo $name;





  ?>
4

2 回答 2

0

您没有一个名为 的对象response,您正在寻找responseText该对象的属性request

document.getElementById("result").innerHTML = request.responseText;

还:

  1. 避免使用全局变量
  2. 不要在目标 div 存在之前发送你的 HTTP 请求,当响应返回时你冒着它仍然不存在的风险
  3. 您可能应该检查响应的 HTTP 状态是否为200(OK)以及完成(readyState 4)。
  4. 不要将原始用户输入放在 URL 中,encodeURIComponent先将其转义
于 2013-08-12T11:10:59.973 回答
0

使用那个 document.getElementById("result").innerHTML = response.responseText;

于 2013-08-12T11:12:18.777 回答