angularjs发送get请求出现错误

后端有个接口,请求/api/avatar/这个网址时,返回一个图片的实际路径/static/images/uploads/default,在浏览器中测试是完全OK的,如图:

clipboard.png

但使用angularget方法,代码如下:

var myapp = angular.module("myapp", []);
myapp.controller("MainCtrl", ["$http", function ($http) {
    var self = this;
    this.get_avatar = function () {
        $http({
            method: "GET",
            url: "/api/avatar/"
        }).then(function (value) {
            console.log(value.data);
            return value.data;
        }, function (reason) {
            console.log(reason);
        })
    };
}]);

html中使用<img ng-src="{{ctrl.get_avatar()}}">去获取图片地址,此时一打开html,前端疯狂向后端发送get请求,如图:

clipboard.png

浏览器console中也不断地重复刷出错误,如图:

clipboard.png

阅读 2.1k
1 个回答

没写过ng, 你看一下这么处理对吗 ?
你写的那个是返回一个promise 而不是函数结果
var myapp = angular.module("myapp", []);
myapp.controller("imgControl", ["$http", function ($http) {

var self = this;
    $http({
        method: "GET",
        url: "/api/avatar/"
    }).then(function (value) {
    this.src = value.data
    }, function (reason) {
        console.log(reason);
    })

}]);
<div ng-controller="srcControl as src">
<img ng-src="{{src.src}}">
</div>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题