@buryakov_dima

Как решить проблему с AJAX и PHP?

Здравствуйте.

У меня в проекте есть список новостей и на каждой такой новости есть кнопка “Принять участие”, по нажатию которой должно произойти следующее - JS(AJAX) обработает нажатие этой кнопки и передаст определённое значение PHP скрипту, который добавит в базу данных ID пользователя, который нажал эту кнопку.

В процессе у меня возникла проблема в том, что если вызвать этот файл через AJAX, то перестаёт быть возможном подключение сторонних файлов в файле, что вызывается через AJAX. Т.е вызвать функцию из другого файла который подключен к тому, что вызывается через AJAX невозможно.

Вот сейчас у меня есть такой код:
<script>
function AjaxFormRequest(id)
{
    $.ajax({
      type: "POST",
      url: "system/user_request.php",
      data: {id: id},
      success: function(data){alert(data)}
    });
}
</script>


И файл, который должен вызывать функцию добавления в БД.
<?php
require_once 'engine.php';
$site->userRequestInProject($_POST['id']);
?>


Во втором файле я пытаюсь вызвать функцию userRequestInProject, а она уже должна добавить ID пользователя в БД, но почему - то при вызове этой функции ничего вообще не происходит (пробовал даже просто echo "Test"; , тоже ноль эмоций)

При этом если в файле, что вызывается через AJAX просто написать например echo "Test";, то так работает.
  • Вопрос задан
  • 326 просмотров
Решения вопроса 2
@lyeskin
А AJAX-запрос корректно отсылается, не смотрели ? Ну там нет случайно 404 или 500 ? И срабатывает ли вообще отправка ?
Ответ написан
@SergeyZelensky-Rostov
Сделайте в файле user_request.php
в самом начале
print_r($_POST);
посмотрите что вернет
и ключ id лучше в кавычки поместить т.е.
{'id': id}
и в ajax укажите тип данных dataType:'json',
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
thewind
@thewind
php программист, front / backend developer
Ошибка в require 'engine.php', проверяйте путь до него или пути в нем
Ответ написан
Комментировать
@buryakov_dima Автор вопроса
Всем спасибо! Проблема решена.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы