我已经在Angular上做了很多帖子,但是我从来没有收到过回复而且我遇到了麻烦。
PHP
<?php
return "testing";
?>
我实际上不确定我是否应该在这里使用return或echo。我试过了两个。 Angular文档并没有提供对服务器端脚本的深入了解。
这是在我的控制器中:
this.acquireImages = function() {
$http.get("resources/php/gallery.php").success(function(response){
this.returnData = response.data;
});
};
this.acquireImages();
我之前定义returnData
只是为了确保它不是一件简单的事情,比如没有显示正确的变量等。
我已经看过文档here并且我尽可能地关注,但我似乎无法使用这个简单的示例。
答案 0 :(得分:2)
在PHP方面,您必须回显,而不是返回数据。
如果您使用return
语句,则会在服务器级别返回一些数据。
所以你需要写你的数据。
<强> PHP 强>
<?php
echo 'hello world !';
?>
在success
回调中,响应是我们的原始数据。
但是,您应该将api调用包装到服务中,然后您将获得:
<强>控制器强>
(function(){
function Controller(Service){
//Our callback
function print(data){
console.log(data);
}
//Call service with our callback
Service.get(print);
}
angular
.module('app')
.controller('Ctrl', Controller);
})();
服务
(function(){
function service($http){
this.get = function(callback){
$http.get('server.php').success(function(data){
callback(data);
});
}
}
angular
.module('app')
.service('Service', service);
})();
答案 1 :(得分:1)
$ http.get函数内部this
表示除了外部之外的其他内容。你应该这样做:
var that = this;
$http.get("resources/php/gallery.php").success(function(response){
that.returnData = response.data;
});
同样在PHP中,您应该echo 'something'
,因为在Angular中,当您访问此网址时,您获得与浏览器相同的内容