Javascript 使用angular$resource TypeScript获取字符串数组
通过向WebAPI发出请求,我希望收到具有多个值的字符串数组(本例中的度量单位)[“KGM”、“MTR”] 不幸的是,作为回应,我收到了一个资源数组和一个字符数组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
[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