繁体   English   中英

将GET响应传递给POST

[英]Passing GET response to POST

我试图根据选择的ID将多个数据映射传递到导出到Excel方法。

我正在尝试使用AngularJS使用以下代码从GET响应向POST传递JSON数组:

$scope.exportExcel = function() {
var id='?';
angular.forEach($scope.selection, function(value, key) {
    id = id + "id=" + value + '&';
});

$http.get(searchUrl + id).success(
    function(response) { 
        $http.post(exportUrl, response);
    }
)}

GET的响应将是一个看起来像这样的JSON数组(假设选择了Jason和Fred):

response = [{'id':'Jason', 'number':1}, {'id':'Fred', 'number':2}]

我已经开发了Java代码,以便POST方法的输入应类似于上面的数组。

我希望用户选择ID,然后按EXPORT按钮,然后立即获得一个下载对话框。 没有其他屏幕更改或加载。

这可行吗? 我的POST命令能否从GET接收JSONArray响应并成功导出?

没有理由,这是行不通的。 一旦GET操作完成并调用其on-success功能,您的代码就位于一个全新的域中,并且POST操作将正常运行(它不在乎或不知道数据来自何处)。

只是一个快速的尝试; 试试这个(如果您不能使用它,我将需要更多有关值的信息-我不知道您使用的库):

$scope.exportExcel = function() {
var id;
angular.forEach($scope.selection, function(value, key) {
    id = (id?id+"&":"?")
       + "id["+key+"]=" + encodeURIComponent(value.id)
       + "&number["+key+"]=" + value.number;
});

$http.get(searchUrl + id).success(
    function(response) { 
        $http.post(exportUrl, response);
    }
)}

是的,它有效。 毕竟我只需要确认即可。 我对其进行了测试,并且可以正常工作。 感谢那些回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM