PHP include в AJAX приводит к тому, что ответ Ajax является «слепым» - PullRequest
0 голосов
/ 15 января 2020

У меня есть вызов ajax, который переходит на страницу действий с большим количеством действий (действий. php). В моем вызове ajax он передает идентификатор, который сообщает, какое действие использовать. Если вы щелкнете по действию «Отправить образец письма», электронное письмо будет отправлено, и действие выполнится нормально, даже если сообщение «Успех» будет возвращено на консоль. Однако в действии электронной почты (для действий. php) шаблон хранится во включенном файле (образец электронной почты. php).

В действиях. php Я пробовал:

require $_SERVER['DOCUMENT_ROOT'].'/emails/sample-email.php';

и

include('emails/sample-email.php');

Оба «работают», даже возвращая «Success» в журнал консоли, однако ...

console.log(response);
if(response==="Success"){ 
    $.Notification.notify('success','top right','Email Sent', 'Email sent.')
location.reload(); 
} else {
    $.Notification.notify('error','top right','Error', 'There was a problem sending the email.')
}

Возвращает ошибку.

Если я удаляю все, кроме:

<?php
?>

Out of sample-email. php, он по-прежнему показывает ошибку ... Однако, если я удаляю этот код тоже, он возвращает success.

EDIT: Дальнейшее копание показало, что пустой файл php, содержащий только теги php, добавляет пробел перед «Success». Я добавил пробел в мой запрос javascript if / else, и он работает. Странно, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...