【发布时间】:2016-07-15 20:15:51
【问题描述】:
我正在使用 AngularJs 和 php,我创建了一个返回 Json 格式的 php 文件,但是当从我的 js 文件中读取它时,输出的是 php 代码!
服务器与 php 一起工作正常,并且 php 文件被完美执行并返回 json 格式,但是当我在应用程序中调用它时,输出是我的 php 文本,这意味着 php 文件被重新作为文本。
我应该怎么做才能使它像 json 一样可读?
这是我的 anjularJs 电话:
$http.get( './templates/connect.php').success(
function(data){
$scope.cityes=data;
alert($scope.cityes);
});
这是我的 php 文件:
$qry = mysql_query('SELECT capital from countries');
$emparray = array();
while ($rows = mysql_fetch_array($qry)) {
$emparray[] = $rows;
}
header('Content-type:application/json;charset=utf-8');
echo json_encode($emparray);
【问题讨论】:
-
控制是否进入
success函数?你试过alert或console.log吗? -
确定你的服务器处理php?
-
您应该查看 PHP 文件本身,并检查内容开头或结尾的(空白)空格。确保 json 对象是页面上唯一的内容。
-
假设您的 php 文件是正确的并且请求没有其他问题,请在您的 javascript 文件中使用一些调试。另外我不记得 jquery 中的 $.get 是否自动将数据转换为 json。您可以尝试
$.getJSON('<host>', function (data) { console.log(data); });或使用 $.ajax 标准来指定数据类型,我总是使用 $.ajax,尽管您编写的越多,您就有更多的控制权。干杯 -
服务器与 php 一起工作正常,并且 php 文件被完美执行并返回 json 格式,但是当我在应用程序中调用它时,输出是我的 php 文本,这意味着 php 文件被重新定义为文本
标签: javascript php angularjs json