AJAX post到php请求问题


AJAX post to php request issue

嗨,我想张贴一个变量从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

请记住,您必须将数据作为键/值对发送- request.send("deletenode=" + encodeURIComponent(deletenode));

我不确定这是否是复制/粘贴错误,但如果这是您的实际代码,您似乎缺少几个花括号关闭。来一杯双份的;;在eval行末尾。这是用额外的花括号整理的代码,这样行吗?

 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));
            });
        }
    }
}