繁体   English   中英

AJAX发布到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));

我不确定这是否是复制/粘贴错误,但是如果这是您的实际代码,那么您似乎缺少几个花括号。 并加倍; 在评估行的末尾。 这是用大括号括起来的代码,行得通吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM