Вызов Angularjs2 http ajax возвращает полный php-код

#php #ajax #http #angular

#php #ajax #http #angular

Вопрос:

Я делаю http ajax-вызов локального php-файла, но он повторяет полный php-код, я новичок в angularjs2. может кто-нибудь мне помочь, пожалуйста.

Вот мой код angularjs2.

 makeHttpCall():Promise<any>{
    return this.http.get(this.sampleUrl, {headers : this.headers}).toPromise().then((response){
        console.log (response)
    }).catch(this.handleError);

}
 

Вот мой php-код

 <?php
 $arr = array('name'=>'Dr.Nayana');
 echo json_encode($arr);?>
 

Вот мой журнал
введите описание изображения здесь

Мне нужно получить объект этого php-массива.

Я запускаю проект с помощью команды «npm start».

Ответ №1:

Похоже, что ваш сервер не настроен для правильной обработки файлов php. Запрос должен возвращать обработанный php-файл, вместо этого он возвращается в виде простого текстового файла.

вы должны использовать веб-сервер, такой как apache, с правильно настроенным модулем php:

http://php.net/manual/en/install.php

Комментарии:

1. какой сервер вы используете?

2. судя по URL-адресу, который вы используете для порта 3000, я полагаю, вы используете express для узла js? если это так, то нет никаких шансов, что вы сможете запустить свой php-скрипт, проверьте ссылку, чтобы получить указания о том, как это сделать

3. Откуда вы взяли базовый код ? кстати, вы не должны использовать комментарии для добавления деталей к вашему вопросу, пожалуйста, отредактируйте свой вопрос, чтобы в нем была вся информация.

Ответ №2:

Замените этот код.

 <?php
 $arr = array('name'=>'Dr.Nayana');
 echo json_decode($arr);?>
 

С помощью приведенного ниже кода.

 <?php
 $arr = array('name'=>'Dr.Nayana');
 echo json_encode($arr);?>
 

json_encode кодирует массив в php