传递多个查询字符串返回undefined in angular

时间:2016-08-11 09:33:24

标签: javascript angular

我试图将多个查询参数传递回我的apiEnd点但是它返回我undefined。我设法获得了我需要的字符串,而没有将其传递给http.get请求。

因此它将输入字段中的值拆分为数组objs,这使我的数组恢复正常但是一旦我将它放入get请求函数中,它就会返回/api/prodcutsundefined

splitValue(event) {
    var idInputValue = this.productId.split(' ');
    console.log(idInputValue);
    if(idInputValue) {
        var ids = idInputValue;
        var queryString = "?";
        for (var i = 0; i < ids.length; i++) {
            var id = ids[i];
            if (i > 0) {
                queryString += "&";
            }
            queryString += ("id="+id);
            console.log(queryString);
        }
    }
}

将api结束点传回queryString,似乎this.queryString没有传回url。我怎么能通过

getProduct() {
        this.http.get('http:../api/Products'+this.queryString)
        .map(response => response.text())
        .subscribe(data => {
            if(data) {
                // var productObj = JSON.parse(data);
                this.productId = JSON.parse(data).Id;

                var idInputValue = this.productId.split(' ');
                console.log(idInputValue);
                if(idInputValue) {
                    var ids = idInputValue;
                    var queryString = "?";
                    for (var i = 0; i < ids.length; i++) {
                        var id = ids[i];
                        if (i > 0) {
                            queryString += "&";
                        }
                        this.queryString += ("id="+id);
                        console.log(queryString);
                }
            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

在Angular 2中,this.http.get()将一个对象作为第二个参数( check this RequestOptionsArgs) 该对象的搜索属性可用于传递url参数URLSearchParams object