【问题标题】:Getting string array using angular $resource TypeScript使用角度 $resource TypeScript 获取字符串数组
【发布时间】:2014-05-16 05:56:43
【问题描述】:

通过向 WebAPI 发出请求,我希望收到具有多个值的字符串数组(在这种情况下为测量单位)["KGM", "MTR"]

不幸的是,我收到了资源数组和字符数组

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

img:http://snag.gy/dDerV.jpg

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

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"]'

所以问题是应该如何对待响应有好的字符串[]?

【问题讨论】:

    标签: javascript angularjs asp.net-web-api typescript angular-resource


    【解决方案1】:

    您能与我们分享原始回复吗?

    如果您需要处理已有的响应,可以使用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);
    }
    

    【讨论】:

      【解决方案2】:

      $resource 仅适用于对象或对象数组,而不适用于字符串。

      您可以将字符串包装在对象中,或者作为 thread 关于此问题的建议,如果您想要一个字符串数组,您可以改用 $http。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-13
        • 1970-01-01
        • 2018-07-10
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 2017-10-10
        相关资源
        最近更新 更多