【发布时间】:2016-12-08 02:58:18
【问题描述】:
我最近决定学习 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,如果这很重要的话。任何帮助将不胜感激!
【问题讨论】:
-
在你的角度控制器中使用 localhost/view.php 而不是 view/view.php
-
“它似乎无法将我的 PHP 文件识别为 PhpStorm 中的代码...” 是什么意思?当它不起作用时,您在浏览器中看到什么 URL?浏览器的开发工具对被调用的 URL 有何评价?
-
将路径更改为“localhost/view.php”解决了问题。现在我感觉自己像个新手。谢谢你们,伙计们:)
-
@Layzone - 它返回 'data: 而不是 'data: [Object, Object, Object, ...]。
标签: javascript php angularjs phpstorm