AngularJS, PHP MySQL реализация возвращает код PHP вместо результата запроса - PullRequest
0 голосов
/ 28 декабря 2018

Я могу читать значения из базы данных, используя PHP.И затем я пытаюсь выполнить этот PHP через контроллер AngularJS.

view1.js

angular.module('myApp.view1', ['ngRoute'])

.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/view1', {
        templateUrl: 'view1/view1.html',
        controller: 'View1Ctrl'
    });
}])

.controller('View1Ctrl', ['$scope', '$http', function ($scope, $http) {
    $http.get('view1/view1.php').then(successCallback, errorCallback);

    function successCallback(response) {
        $scope.songs = response.data;
    }

    function errorCallback(error) {
        alert(error);
    }
}]);

view1.php

<?php
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "songs"; /* Database name */

$con = mysqli_connect($host, $user, $password, $dbname);
// Check connection
if (!$con) {
    die("Connection failed: " . mysqli_connect_error());
}

$sel = mysqli_query($con, "select * from description");
$data = array();

while ($row = mysqli_fetch_array($sel)) {
    $data[] = array("artist" => $row['artist'], "key" => 
$row['song_key'], "beat" => $row['beat']);
}

echo json_encode($data);

view1.html

<div ng-app="myApp.view1" ng-controller="View1Ctrl">
    {{songs}}
</div>

Это код, который я сделал, и он возвращает не данные БД.Он возвращает точно такой же код PHP для {{songs}}.

1 Ответ

0 голосов
/ 28 декабря 2018

Это, вероятно, происходит потому, что вы запрашиваете сервер PHP (порт 80) с сервера npm по умолчанию (порт 8000), попробуйте изменить параметр запроса get() на:

$http.get('http://localhost/view1/view1.php').then(successCallback, errorCallback);  

, чтобы он не проходилСервер npm.

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