Не понимаю, почему не передаётся переменная 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