繁体   English   中英

一个简单的Angular JS $ http对象响应的问题?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM