我最近决定学习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,如果这有点重要的话。任何帮助都会很感激!
答案 0 :(得分:1)
我从
更改了我的函数内的网址url: 'view/view.php'
到
url: 'localhost/view.php'
PHP文件按预期工作。作为旁注,PHP文件最初位于我的项目文件夹中,我将其移动到我的Apache部署文件夹以使其工作。我希望这个答案是可以理解的。感谢 @Ayaou 帮助我在这里!