[英]Problems with a simple Angular JS $http object response?
我已经在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
只是为了确保它不是简单的,比如没有显示正确的变量等。
我已经看到了这里的文档,我尽可能地遵循,但我似乎无法让这个简单的例子起作用。
在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);
})();
在$ http.get函数里面, this
意味着除了外面的东西。 你应该这样做:
var that = this;
$http.get("resources/php/gallery.php").success(function(response){
that.returnData = response.data;
});
同样在PHP中你应该回复echo 'something'
,因为在Angular中,当你访问这个URL时,你得到的内容与你的浏览器相同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.