[英]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.