0

こんにちは、変数を ajax js ファイルから php ファイルに投稿したいと考えています。これが私のこれまでの試みです。

       var request = createRequest();
      var deletenode = node.id;
   window.alert("nodeid=" + deletenode);
       var vars = "deletenode="+deletenode;
       request.open("POST", "deletenode.php", true);
      request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       request.onreadystatechange = function() {
    handleRequest(request);
};
       request.send("deletenode=" + encodeURIComponent(deletenode));

ここに私のphpファイルがあります

 <?php
 print_r($_POST);
 $node = $_POST['deletenode'];
 print "node to be deleted: $node";
 ?>

私のphpファイルには何も表示されません。何が問題なのですか。私の ajax リクエストはそのままで、正しく機能しています。ありがとうございます。これが私のハンドル リクエストです。

function handleRequest(request) {
    // we only care for now about when we get to readyState 4
    // which means the request completed and we have the response back
    if(request.readyState == 4){
        //alert("response: " + request.responseText); // check to see what
        // we got back just for testing
        // now get response's TEXT and put into document (specify where)
        // below we have an html element with the id as timeLoc
        json= eval ("(" + request.responseText + ")");;

        //alert ("json="+json); //tests what was recieved
        //clicking the close button
        closeButton.onclick = function() {
            node.setData('alpha', 0, 'end');
            node.eachAdjacency(function(adj) {
                adj.setData('alpha', 0, 'end');
                var request = createRequest();
                var deletenode = node.id;
                window.alert("nodeid=" + deletenode);
                var vars = "deletenode="+deletenode;
                request.open("POST", "deletenode.php", true);
                request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                request.onreadystatechange = function() {
                    handleRequest(request);
                };
                request.send("deletenode=" + encodeURIComponent(deletenode));
            });       
        }// end readystate=4
    }//end handle request
4

2 に答える 2

0

これがコピー/貼り付けエラーであるかどうかはわかりませんが、それが実際のコードである場合、いくつかの中括弧が欠けているようです。そしてダブルを持っています;; あなたの評価行の最後に。これは追加の中括弧で整理されたコードですが、うまくいきますか?

 function handleRequest(request) {
    if(request.readyState == 4){
        json= eval ("(" + request.responseText + ")");
        closeButton.onclick = function() {
            node.setData('alpha', 0, 'end');
            node.eachAdjacency(function(adj) {
                adj.setData('alpha', 0, 'end');
                var request = createRequest();
                var deletenode = node.id;
                window.alert("nodeid=" + deletenode);
                var vars = "deletenode="+deletenode;
                request.open("POST", "deletenode.php", true);
                request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                request.onreadystatechange = function() {
                    handleRequest(request);
                };
                request.send("deletenode=" + encodeURIComponent(deletenode));
            });
        }
    }
}
于 2013-03-25T03:12:17.337 に答える
0

キーと値のペアとしてデータを送信する必要があることを忘れないでください -request.send("deletenode=" + encodeURIComponent(deletenode));

于 2013-03-25T02:37:05.663 に答える