Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   ajax PHP метод POST (https://javascript.ru/forum/server/73218-ajax-php-metod-post.html)

DivMan 29.03.2018 19:04

ajax PHP метод POST
 
Не понимаю, почему не передаётся переменная id?

<script>
    var likeComment = document.querySelectorAll('.like-comment');
   
    likeComment.forEach(function(element, i){
        likeComment[i].addEventListener('click', function(e) {
            e.preventDefault();
            console.log(e.target.dataset.id);
         
           var commentId = e.target.dataset.id;
         
            xmlhttp=new XMLHttpRequest();
           
            xmlhttp.onreadystatechange=function() {
        if (this.readyState==4 && this.status==200) {
                    likeComment[i].innerHTML=this.responseText;
        }
            }
        xmlhttp.open("POST","/comment/like", true);
        xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        xmlhttp.send("id="+commentId);
        })
    })
                                                                                                   
</script>


Отправка работает методом POST, это я проверял, выведет 4444, если убрать $id

public function like($id)
    {
        if ( $_SERVER['REQUEST_METHOD'] == 'POST' ){
            echo 4444;
        }
     
       echo $id;
       echo true;
    }


Но почему, если в send, что-то передать, то это не передаётся? Выводит ошибку

Uncaught Invoker\Exception\NotEnoughParametersException: Unable to invoke the callable because no value was given for parameter 1 ($id) in

DivMan 29.03.2018 22:47

тему можно закрывать, я разобрался


Часовой пояс GMT +3, время: 16:18.