使用img模板和ng Src通过$ http加载数据数组时发送text / html而不是image / gif

时间:2013-06-25 00:32:04

标签: image http angularjs

我有一个这样的模板:

<img class="picto" 
    ng-repeat="module in modules" 
    ng-src="{{module.Source}}" 
    title="{{module.Title}}" 
    ng-click="module.handler();"/>

当我使用静态代码设置$scope.modules数组时,一切正常,并且使用媒体类型“image / gif”(对于gif文件)通过GET获取图像。但是,当我使用$http.get()检索相同的数组时 - 请参阅下面的代码 - ,angular尝试使用媒体类型“text / html”检索图像,这会导致404错误:

$http.get('/api/modules', {})
    .success(function (data) {
        $http.defaults.get = { 'Content-Type': 'image/gif' }; // apparently useless
        $scope.modules = data;
        for (var module in $scope.modules) {
            $scope.modules[module].handler = function () { alert(this.Id); };
        }
        delete $http.defaults.get; // ...useless 
    });

尝试添加标头默认值也无济于事(// apparently useless)。你能看出什么是错的吗?

1 个答案:

答案 0 :(得分:0)

使用Accept: 'image/gif'代替Content-Type: 'image/gif'尝试。

Content-Type标头描述了您要发送到服务器的数据格式。 Accept标题描述了您从服务器接收的数据格式。