AngularJS - PHP没有返回值

时间:2016-12-07 15:38:34

标签: javascript php angularjs phpstorm

我最近决定学习AngularJS,而我目前正在尝试使用PhpStorm创建一个简单的网站。我偶然发现了一个我似乎无法解决的问题。

这是到目前为止网站的代码。

view.html

<button ng-click="doClick()">Click</button>

<table>
    <tr>
        <th>ID</th>
        <th>Condition</th>
    </tr>
    <tr ng-repeat="x in items track by $index">
        <td>{{ x.id }}</td>
        <td>{{ x.condition }}</td>
    </tr>
</table>

view.js

'use strict';

angular.module('myApp.view', ['ngRoute'])
    .config(['$routeProvider', function($routeProvider) {
        $routeProvider.when('/view', {
            templateUrl: 'view/view.html',
            controller: 'ViewCtrl'
        });
    }])

    .controller('ViewCtrl', ['$scope', '$http',
        function($scope, $http) {
            $scope.doClick = function() {
                $http({
                    method: 'GET',
                    url: 'view/view.php'
                }).then(function(response) {
                    $scope.items = response.data;
                })
            };
        }
    ]);

view.php

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

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";

$connect = mysqli_connect($servername, $username, $password, $dbname);

if(!$connect) {
    die("Connection failed: " . mysqli_connect_error());
}

$query = "SELECT * FROM table";
$result = mysqli_query($connect, $query);

if(mysqli_num_rows($result) > 0) {
    $output = array();

    while($row = mysqli_fetch_assoc($result)) {
        $output[] = $row;
    }

    echo json_encode($output);
}

else {
    echo "No Results";
}
?>

我想从变量$output中获取值。但是,一旦我运行PHP代码,它只返回整个代码。它似乎没有将我的PHP文件识别为PhpStorm中的代码,但在通过"localhost/view.php"访问时运行得很好。

我尝试过类似线程的解决方案,但到目前为止还没有运气。我使用Apache和MySQL,如果这有点重要的话。任何帮助都会很感激!

1 个答案:

答案 0 :(得分:1)

我从

更改了我的函数内的网址
url: 'view/view.php'

url: 'localhost/view.php'

PHP文件按预期工作。作为旁注,PHP文件最初位于我的项目文件夹中,我将其移动到我的Apache部署文件夹以使其工作。我希望这个答案是可以理解的。感谢 @Ayaou 帮助我在这里!