JQuery $ .get возвращает код PHP как текст вместо значения

Это мой код 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 при разработке, если это имеет значение (если это так, как я могу сделать это по-другому).

Как работает browsersync? Вы используете веб-сервер с установленным PHP?

user3783243 02.08.2018 17:02

Похоже, интерпретатор PHP не запускается вашим веб-сервером или вы используете файловую систему в своем браузере вместо localhost.

MonkeyZeus 02.08.2018 17:03

звучит так, как будто PHP не установлен или не активирован должным образом на вашем веб-сервере, и / или вы используете file:// вместо http://. Кстати, что произойдет, если вы перейдете по тому же URL прямо в адресную строку браузера? А в чем актуальность browsersync?

ADyson 02.08.2018 17:03

Как выглядит URL-адрес, по которому вы загружаете этот JS? Это как file:///C:/path/to/my/page.html?

MonkeyZeus 02.08.2018 17:03

@MonkeyZeus Когда я обслуживаю свои файлы через синхронизацию браузера, URL-адрес - локальный: 3000

Oskarzito 02.08.2018 17:05

Похоже, у вас неправильно настроен сервер, а PHP обрабатывается как статический файл.

Julian Camilleri 02.08.2018 17:05

Отлично, смотрите первую часть моего первого комментария.

MonkeyZeus 02.08.2018 17:06

@MonkeyZeus Когда я запускаю локальный: 3000 / сервер / пример.php в адресной строке, загружается файл example.php: / hmm

Oskarzito 02.08.2018 17:08

Если вы не знаете, как настроить локальный веб-сервер, посмотрите Сервер WAMP. Также есть XAMMP, MAMP, LAMP в зависимости от вашей операционной системы.

MonkeyZeus 02.08.2018 17:28

Ознакомьтесь с stackoverflow.com/q/5121495/2191572 для получения более подробной информации

MonkeyZeus 02.08.2018 17:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
10
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно 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 без использования веб-сервера? Как, например, попробовать мой код выше?

Oskarzito 03.08.2018 11:37

Есть несколько сайтов, которые позволяют имитировать конечную точку и каждый раз просто возвращать одни и те же статические данные. Так что это немного менее гибко, если вы пытаетесь проверить эффект отправки различных параметров и значений, но, по крайней мере, позволяет вам провести базовое тестирование. Например, myjson.com - это как раз один из таких сайтов. Вы можете вставить некоторый JSON и сохранить его, и он предоставит вам URL-адрес, который вы можете использовать в своем вызове AJAX, который всегда будет возвращать эти данные.

ADyson 03.08.2018 11:57

Другие вопросы по теме