Javascript 使用angular$resource TypeScript获取字符串数组

Javascript 使用angular$resource TypeScript获取字符串数组,javascript,angularjs,asp.net-web-api,typescript,angular-resource,Javascript,Angularjs,Asp.net Web Api,Typescript,Angular Resource,通过向WebAPI发出请求,我希望收到具有多个值的字符串数组(本例中的度量单位)[“KGM”、“MTR”] 不幸的是,作为回应,我收到了一个资源数组和一个字符数组 [0] Resource [0]: "K" [1]: "G" [2]: "M" [1] Resource [0]: "M" [1]: "T" [2]: "R" img: 以下是我所做的请求以及我如何进行响应 var provider = this.resource(WebAPIData

通过向WebAPI发出请求,我希望收到具有多个值的字符串数组(本例中的度量单位)[“KGM”、“MTR”]

不幸的是,作为回应,我收到了一个资源数组和一个字符数组

[0] Resource
    [0]: "K"
    [1]: "G"
    [2]: "M"
[1] Resource
    [0]: "M"
    [1]: "T"
    [2]: "R"
img:

以下是我所做的请求以及我如何进行响应

var provider = this.resource(WebAPIDataUrl, {}
, {
    GetData: {
        method: 'GET'
        , params: {
            action: "GetData"
        }, isArray: true
        , headers: {
            'Token': this.window.sessionStorage.getItem("Token")
        }
    }
});
var _success = function (resource: string[]) {
    _unitsOfMeasurements = Object.keys(resource);
};
var _error = function () {
};

provider.GetData(_success, _error);
我还通过使用
transformResponse
创建了一个钩子,以确保传入数据的格式正确且无误:

transformResponse: function(data, headers){
    return data;
}
data == '["KGM", "MTR"]'

所以问题是应该如何处理响应以获得好的字符串[]?

您可以与我们共享原始响应吗

如果需要处理已有的响应,可以使用
array.prototype.join
方法获取字符串

response = [
    ['K','G','M'],
    ['M','T','R']
];

for (var i = 0; i < response.length; i++) {
    var string = response[i].join('');
    console.log(string);
}
响应=[
[K',G',M'],
['M','T','R']
];
对于(变量i=0;i
$resource仅适用于对象或对象数组,而不适用于字符串

您可以将字符串包装在对象中,或者根据本文中关于此问题的建议,如果您想要字符串数组,可以使用$http