2013-03-25 3 views
0

Привет Я хочу опубликовать переменную из файла ajax js в файл php. вот моя попытка.Сообщение AJAX для запроса на 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 
+0

Я настоятельно рекомендую вам использовать структуру Javascript, такую ​​как jQuery. Это делает проблемы с совместимостью между браузерами намного проще. – chrislondon

+0

проверьте свою консоль браузера и посмотрите, какие данные отправлены. Abd. Каков ответ с сервера. –

+0

. После форматирования кода его легко увидеть, что он написан неправильно. – Musa

ответ

0

Помните, что вы должны отправить данные в виде пар ключ/значение - request.send("deletenode=" + encodeURIComponent(deletenode));

+0

Я уже отредактировал то, что вы предложили, как показано выше, но он все еще не работает. – user1902588

+0

@ user1902588 Показать функцию 'handleRequest'. – Musa

+0

весь этот код вложен в запрос, поэтому я хочу сделать запрос в запросе. – user1902588

0

Я не уверен, если это ошибка копирования/вставки, но если это ваш фактический код, по всей видимости, отсутствует несколько фигурных скобок закрываются. И иметь двойной ;; в конце вашей линии 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)); 
      }); 
     } 
    } 
} 
+0

Ах, @ Муса, ты прибрал меня, как я! –

+0

Да, это была ошибка копирования. Все правильное синтаксическое значение – user1902588

+0

Если вы откроете инструменты Chrome Dev и перейдите на вкладку [network tab] (https://developers.google.com/chrome-developer-tools/docs/network), вы сможете увидеть, что этот запрос является и исследовать отправленные данные, выглядит ли он прямо там? –