带有AngularJS和PHP的简单GET请求,预期为JSON,但返回了PHP文件的副本
我试图找出以PHP为后端的AngularJS。 这里的目的是从mysql数据库生成一个JSON文件,但作为回报,我的数据变量是一个字符串,其中包含了php文件中的代码 代码如下: 角度控制器: php文件:带有AngularJS和PHP的简单GET请求,预期为JSON,但返回了PHP文件的副本,php,mysql,json,Php,Mysql,Json,我试图找出以PHP为后端的AngularJS。 这里的目的是从mysql数据库生成一个JSON文件,但作为回报,我的数据变量是一个字符串,其中包含了php文件中的代码 代码如下: 角度控制器: php文件: 日志显示了php文件中代码的副本。 我将我的代码与其他在线示例进行了比较,结果发现没有人遇到同样的问题。 我还在浏览器中运行php代码,返回正确的JSON代码。只有当我尝试在angular应用程序中使用它时,才会将php代码作为字符串返回。这听起来像是web服务器配置问题。你在用什么?如
日志显示了php文件中代码的副本。
我将我的代码与其他在线示例进行了比较,结果发现没有人遇到同样的问题。
我还在浏览器中运行php代码,返回正确的JSON代码。只有当我尝试在angular应用程序中使用它时,才会将php代码作为字符串返回。这听起来像是web服务器配置问题。你在用什么?如果您访问
http://www.example.com/php/get_countries.php
,你得到了什么?(当然,用您的实际域名替换example.com。)Mathew和Brian提到这可能是一个服务器配置问题。确保运行的任何web服务器都已设置为处理.php文件。他们需要被处决,而不仅仅是归还。非常感谢大家!事实上,我的IDE无法处理php文件。我将我的工作文件夹复制到我的xampp文件夹,并从那里运行它。一切正常
(function (){
"use strict";
var module = angular.module("App");
var CountryController = function ($scope, $http, $log) {
$scope.countries = null;
$http.get('php/get_countries.php')
.success(function(data){
$log.info("data= " + data);
$scope.countries = data;
});
};
module.controller("CountryController", CountryController);
}());
<?php
$db = new mysqli('localhost','root','','db_test');
if($db->connect_errno > 0) {
die('Unable to connect to database[' .$db->connect_error. ']');
}
$sql = "SELECT * FROM `country`";
if(!$result = $db->query($sql)){
die('There was an error running the query [' .$db->error. ']');
}
$arr = array();
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$item = array();
$item['id'] = $row['country_id'];
$item['name'] = $row['country_name'];
$arr[] = $item;
}
}
header('Content-Type: application/json');
echo json_encode($arr);
?>