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探しています。responseTextrequest

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 に答える