ajax PHP метод POST [требует правки]

206
31 марта 2018, 17:40

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

READ ALSO
PHP, как получить изображение из ресурса?

PHP, как получить изображение из ресурса?

У меня есть код, который возвращает ресурс изображения видом imagepng($this->image)

220
Сделать Update двух таблиц

Сделать Update двух таблиц

Возник вопрос по обновлению данных в двух таблицах, вот функция

207
Проблема с дублированием файлов. Bitrix

Проблема с дублированием файлов. Bitrix

Делаю форму редактирования элемента инфоблока с возможность добавления/удаления файлов пользователямиВыглядит она вот так

248
PHP shuffle константу-массив

PHP shuffle константу-массив

Здравствуйте, допустим есть константа-массив:

198