Это мой код JavaScript:
$(FORM).on('submit', function (event) {
event.preventDefault();
$.get('server/example.php?number1=34&number2=46', function (response) {
console.info(response);
});
});
И это мой файл PHP с именем example.php, расположенный в каталоге с именем сервер:
<?php
$num1 = $_GET['number1'];
$num2 = $_GET['number2'];
$sum = $num1 + $num2;
echo($sum);
?>
Когда я делаю свой запрос на получение, ответ в Chrome DevTools (и консоли) печатает код PHP в качестве ответа вместо значения 80 (сумма сложения 34 и 46) при вызове console.info(response). Я пробовал метод $.ajax(), а также явно создавал и использовал объект XMLHttpRequest. Все они возвращают / распечатывают код PHP вместо 80. Как мне получить значение $sum?
Я использую BrowserSync при разработке, если это имеет значение (если это так, как я могу сделать это по-другому).
Похоже, интерпретатор PHP не запускается вашим веб-сервером или вы используете файловую систему в своем браузере вместо localhost.
звучит так, как будто PHP не установлен или не активирован должным образом на вашем веб-сервере, и / или вы используете file:// вместо http://. Кстати, что произойдет, если вы перейдете по тому же URL прямо в адресную строку браузера? А в чем актуальность browsersync?
Как выглядит URL-адрес, по которому вы загружаете этот JS? Это как file:///C:/path/to/my/page.html?
@MonkeyZeus Когда я обслуживаю свои файлы через синхронизацию браузера, URL-адрес - локальный: 3000
Похоже, у вас неправильно настроен сервер, а PHP обрабатывается как статический файл.
Отлично, смотрите первую часть моего первого комментария.
@MonkeyZeus Когда я запускаю локальный: 3000 / сервер / пример.php в адресной строке, загружается файл example.php: / hmm
Если вы не знаете, как настроить локальный веб-сервер, посмотрите Сервер WAMP. Также есть XAMMP, MAMP, LAMP в зависимости от вашей операционной системы.
Ознакомьтесь с stackoverflow.com/q/5121495/2191572 для получения более подробной информации



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Согласно https://scotch.io/tutorials/how-to-use-browsersync-for-faster-development
"BrowserSync creates a small server"
... поэтому я предполагаю, что он может обслуживать только статические HTML-страницы, а не PHP. Вам необходимо настроить подходящий веб-сервер, например Apache, и установить на него PHP. Как упоминалось в комментариях, все это можно загрузить и установить отдельно, или есть пакеты, такие как LAMP, XAMPP и другие, которые предоставят вам легко устанавливаемый весь стек разработки Apache, PHP и MySQL.
На странице также говорится
if you already have a server setup, BrowserSync can hook into that server and act as a proxy.
Это означает, что после того, как вы настроили правильный сервер, вы все равно можете одновременно воспользоваться функциями BrowserSync, подключив его к своему серверу.
Ааа спасибо! Сейчас я сосредоточен не на изучении PHP и тому подобного, а только на клиентских материалах (в настоящее время посещающих университетские курсы). У вас есть какие-нибудь советы по тестированию вызовов Ajax без использования веб-сервера? Как, например, попробовать мой код выше?
Есть несколько сайтов, которые позволяют имитировать конечную точку и каждый раз просто возвращать одни и те же статические данные. Так что это немного менее гибко, если вы пытаетесь проверить эффект отправки различных параметров и значений, но, по крайней мере, позволяет вам провести базовое тестирование. Например, myjson.com - это как раз один из таких сайтов. Вы можете вставить некоторый JSON и сохранить его, и он предоставит вам URL-адрес, который вы можете использовать в своем вызове AJAX, который всегда будет возвращать эти данные.
Как работает
browsersync? Вы используете веб-сервер с установленным PHP?