如何使用AJAX调用AWS Lambda函数?

问题描述

$("#update").on("click",function() {
    $(".err_message").`removeClass`("is-open");
    // call lambda function
    $.ajax({
        `url`: "lambda-update-info-check",type: "POST",data: {
            user_id : $("#user_id").val(),user_name : $("#user_name").val(),mail_address : $("#mail_address").val(),language : $("#language").val(),password : $("#password").val(),password_confirm : $("#password_confirm").val()
        },`beforeSend`: function(){
            $('.loading').`removeClass`('hide');
        }
    }).done(function (data) {
        var `ret` = "";
        if ($(data).find("result").length > 0) {
            `ret` = $(data).find("result")[0].`textContent`;
        } else {
            `gotoErrPage`();
        }
    }).fail(function (data) {
            `gotoErrPage`();
    }).always(function (data) {
    });
});

我在使用user_id和mail_address的日志中出错。我无法更新user_id和mail_address,因为它们是主要参数。寻找有关如何使用AJAX发出AWS Lambda API调用的帮助。

解决方法

首先,您需要一个公开的公共端点。

通常,如果您为lambda设置了API网关,则会发生这种情况。 在那里,您可以获取生成的公共链接,也可以定义自定义域名。

拥有有效的公共端点后,您可能需要像常规的http通话一样调用它。

这是一个很好的切入点https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway.html

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...