Python 如何返回一个";“关闭窗口”;从GET呼叫中发出命令?

Python 如何返回一个";“关闭窗口”;从GET呼叫中发出命令?,python,amazon-web-services,rest,aws-lambda,aws-api-gateway,Python,Amazon Web Services,Rest,Aws Lambda,Aws Api Gateway,由于我所使用的平台存在一些限制,我需要使用GET方法来处理API调用 当用户按下按钮时,浏览器将导航到新窗口中的相关URL。此URL是使用GET方法的API调用。这个API只是在后台运行一些任务,所以我想返回一个命令来关闭当前窗口 我无法更改GET方法,也无法阻止窗口打开 我是否可以返回自动关闭浏览器窗口的值?也许是一个简单的html页面和一个脚本?像“值已更改,返回”和“返回”命令之类的东西可能也会起作用,我想是吧 API后端是AWS Lambda中的python脚本,由AWS API网关调用

由于我所使用的平台存在一些限制,我需要使用GET方法来处理API调用

当用户按下按钮时,浏览器将导航到新窗口中的相关URL。此URL是使用GET方法的API调用。这个API只是在后台运行一些任务,所以我想返回一个命令来关闭当前窗口

我无法更改GET方法,也无法阻止窗口打开

我是否可以返回自动关闭浏览器窗口的值?也许是一个简单的html页面和一个脚本?像“值已更改,返回”和“返回”命令之类的东西可能也会起作用,我想是吧


API后端是AWS Lambda中的python脚本,由AWS API网关调用

您可以更改python Lambda脚本以返回HTML并执行
window.close()
javascript函数。确保在响应中将
内容类型
标题设置为
文本/html
。我刚刚使用通过API网关调用的Python 3.7运行时在新创建的AWS lambda函数上测试了这一点,至少在Chrome上工作得很好

def lambda_handler(event, context):
    html_body = """
        <html>
            <head>
                <script type="text/javascript">
                    window.close();
                </script>            
            </head>
            <body>
                <p>Operation succcessful. You can safely close this window.</p>
            </body>
        </html>

    """

    return {
        'statusCode': '200',
        'body': html_body,
        'headers': {
            'Content-Type': 'text/html'
        }
    }
def lambda_处理程序(事件、上下文):
html_body=“”
window.close();
操作成功。您可以安全地关闭此窗口

""" 返回{ “状态代码”:“200”, “body”:html_body, “标题”:{ “内容类型”:“文本/html” } }
我无法实现这一点,我可以将响应主体映射为正确的主体,但标题坚持为application/json;我怎样才能改变这一点?在integration response->header mapping下,我放置了“Content Type”和“integration.response.header.Content Type”。在映射模板上,我放置text/html和$input.path('body')。在methodresponse下,我将标题设置为Content-Type,将主体设置为text/html,model-empty。