Node.js 如何使用AWS post lambda打开web浏览器
我已经编写了以下代码:Node.js 如何使用AWS post lambda打开web浏览器,node.js,amazon-web-services,post,aws-lambda,Node.js,Amazon Web Services,Post,Aws Lambda,我已经编写了以下代码: static async postSearchResult(httpContext: HttpContext, injector: Injector) { const log = injector.get(Log); const service = injector.get(Service); try { let result = await service.redirectToUI(JSON.parse(httpContext.g
static async postSearchResult(httpContext: HttpContext, injector: Injector) {
const log = injector.get(Log);
const service = injector.get(Service);
try {
let result = await service.redirectToUI(JSON.parse(httpContext.getRequestBody()));
httpContext.ok(result, 200, {'Content-Type': 'application/json'});
} catch (e) {
httpContext.fail(e, 500);
}
}
protected redirectToUI(response: any) {
// If any post api call happened then it should open web browser and pass some field as query parameter
window.open("https://www.google.com?abc=response.abc");
return response ? response : "failed";
}
这里我得到了以下错误:
执行失败引用错误:未定义窗口
我做错了什么?你试图完成的事情没有多大意义。Lambda是一种后端服务。要打开新的浏览器窗口,您需要使用前端JavaScript,而不是后端节点(在后端,您无法访问前端
窗口
对象)
如果要打开一个新的浏览器窗口作为对某个后端响应的响应,那么可以在HTTP响应中发送一些指示符(即
shouldOpenNewWindow:true
作为响应对象的一部分),在前端解析该响应,如果指示符存在,则可以发出window.open
命令。但是它必须在前端完成。你试图完成的事情没有多大意义。Lambda是一种后端服务。要打开新的浏览器窗口,您需要使用前端JavaScript,而不是后端节点(在后端,您无法访问前端窗口
对象)
如果要打开一个新的浏览器窗口作为对某个后端响应的响应,那么可以在HTTP响应中发送一些指示符(即
shouldOpenNewWindow:true
作为响应对象的一部分),在前端解析该响应,如果指示符存在,则可以发出window.open
命令。但必须在前端完成。改进措辞和改进措辞