Angularjs 在angular js中下载文本文件时出现错误

Angularjs 在angular js中下载文本文件时出现错误,angularjs,Angularjs,我已从后端下载文本文件请求。我需要通过发布service.js中给出的get请求来下载该文件,但问题是当我下载该文件时,我得到的是空白的%7d%7d。需要帮助。我甚至尝试了ng href,仍然没有成功 HTML: Service.js var url =' http://localhost/1290/'; function downloadExhibitor() { var token = 129821sahh; var auth =

我已从后端下载文本文件请求。我需要通过发布
service.js
中给出的get请求来下载该文件,但问题是当我下载该文件时,我得到的是空白的%7d%7d。需要帮助。我甚至尝试了ng href,仍然没有成功

HTML:

Service.js

   var url =' http://localhost/1290/';
  function downloadExhibitor() {


            var token = 129821sahh;
            var auth = "Token" + ' ' + token;

            var config = {
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': auth
                }
            }

       return $http.get(url + 'entity/campaigns/download_exhibitors/', config);
        }

代码的问题在于
$scope.newFile=service.downloadExhibitor()
由于
$http.get
异步的
并返回一个
承诺
,因此您始终可以定义
回调
来处理
成功
/
错误
来自
服务器的响应

因此,当
服务器
返回
响应
时,您没有定义任何操作来处理它。您的服务可以重新编写为:-

var url =' http://localhost/1290/';
function downloadExhibitor() {

        var token = 129821sahh;
        var auth = "Token" + ' ' + token;

        var config = {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': auth
            }
        }

        return $http.get(url + 'entity/campaigns/download_exhibitors/', config)
               .then(successHandler, errorHandler);
}

function successHandler(response){
    /* we've got file's data from server */
    return response.data;
}

function errorHandler(error){
    /* we've got error response from server */
    throw new Error('ERROR ' + error);
}
最后是
服务
调用

$scope.newFile = "";
service.downloadExhibitor()
       .then(function(data){
                $scope.newFile = data;
             }, function(error){ 
                console.log(error);
             });

$http.get
返回一个承诺。请尝试
service.downloadExhibitor()。然后((res)=>{$scope.newFile=res.data;})
。另外,您的
%7d%7d
是URL编码的
}
我没有看到任何下载代码here@AlekseySolovey如果我这样说,我得到的响应如下{“data”:“id\tname\temail\tphone\twebsite\tvenue\ttags\n sunitha\tsunitha@gmail.com\T555541\thttp://www.sunitha.com\n、 “状态”:200,“配置”:{“方法”:“获取”,“转换请求”:[null],”transformResponse:[null],“jsonpCallbackParam:“callback”,“headers:{“Authorization:“Token 13946cc6c575d61b042b01b6905f1d239b3d9b08”,“Accept:“application/json,text/plain,/”,“url:”,“statusText:“OK”,“xhrStatus:“complete”}如果是文本文件,为什么要使用
application/json
?为什么要将
href
属性设置为
{}
interpolation如果数据是JSON?我尝试了相同的方法。但是我只得到了这个错误无法得到/Organizer/IDNameEmailPhoneWebsiteVenueTags83%20Namea@b.com9009009009http://www.anyname.com将%20Atag1、%20tag2、%20tag3sunithasunitha@gmail.com55555541httphttp://www.sunitha。comSuhasinisuha@gmail.com955555544http://www.suha.comraichel@gmail.com955548458http://www.raichel.com
var url =' http://localhost/1290/';
function downloadExhibitor() {

        var token = 129821sahh;
        var auth = "Token" + ' ' + token;

        var config = {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': auth
            }
        }

        return $http.get(url + 'entity/campaigns/download_exhibitors/', config)
               .then(successHandler, errorHandler);
}

function successHandler(response){
    /* we've got file's data from server */
    return response.data;
}

function errorHandler(error){
    /* we've got error response from server */
    throw new Error('ERROR ' + error);
}
$scope.newFile = "";
service.downloadExhibitor()
       .then(function(data){
                $scope.newFile = data;
             }, function(error){ 
                console.log(error);
             });