1

単純な質問を許してください。javascriptからphpに変数を渡したいのですが、これはxmlhttprequestオブジェクトで実行できることを理解しています。そこで、これを行う方法を理解するためのテストスクリプトを作成しました。

XAMPPを使用しており、main.phpとtest.phpのファイルをhtdocsフォルダーの適切な場所に配置しました。

main.phpは、xmlhttprequestを使用して変数をtest.phpに渡そうとします。test.phpは単に変数をエコーし​​ます。次に、エコーされた結果をmain.phpに表示してみます。

main.phpをブラウザーにロードしてソースを表示すると、変数がエコーされるのを期待しています。代わりに、test.phpに渡されるはずの変数が未定義であるというエラーメッセージが表示されます。

どんな助けでも大歓迎です。

    <html>
    <head>
    <title>Main</title>

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

    <script language="javascript" type="text/javascript">

    $(document).ready(function () {

        xmlhttp=new XMLHttpRequest();

        xmlhttp.open("GET","test.php?var1=hello", true);
        xmlhttp.send(null);

        <?php include("test.php"); ?>

    });

    </script>

</head>
<body></body>
</html>

これは、main.phpと同じフォルダーにあるtest.phpのコードです。

<?php
$name=$_GET['var1'];
echo $name;
?>
4

2 に答える 2

0

リクエストを非同期モードで実行していると思いますので、状態変更の準備ができているかどうかを確認してください。

xmlhttp=new XMLHttpRequest(); 

xmlhttp.open("GET","test.php?var1=hello", true); 
xmlhttp.send(null); 

xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   alert(xmlhttp.responseText)
}
于 2012-04-22T04:16:07.373 に答える
0

jQueryを使用しているように見えるので(Sizzleの場合は、残りの部分は無視してください)、使用する必要はありません。jQueryには、大幅に簡素化するAjaxメソッドが組み込まれています。

$.ajax({
    url:"test.php",
    method:"get",
    data:{
             var1:"hello"
         }
}).done(function(data){
     alert(data);
});

XMLHttpRequestを作成して送信します。

于 2012-04-23T12:46:27.923 に答える