AJAX Post到AWS API网关不工作(不允许使用405方法),但它与Postman一起工作

AJAX Post到AWS API网关不工作(不允许使用405方法),但它与Postman一起工作,ajax,amazon-web-services,post,aws-api-gateway,http-status-code-405,Ajax,Amazon Web Services,Post,Aws Api Gateway,Http Status Code 405,我用bootstrap构建了一个小的HTML表单,并将其作为静态网站托管在AWSS3存储桶中。然后,我添加了一个AWSAPI网关和Lamda函数,以便将来自此表单的数据存储到AWS DynamoDB中 此时,我可以通过Postman将原始JSON数据“发布”到API网关,Lambda函数将数据存储在DynamoDB表中。我在我的网站上创建了一个.ajax来收集数据并将其作为JSON发送。但我总是犯这样的错误: 我的AJAX: $(document).ready(function(){ $(&q

我用bootstrap构建了一个小的HTML表单,并将其作为静态网站托管在AWSS3存储桶中。然后,我添加了一个AWSAPI网关和Lamda函数,以便将来自此表单的数据存储到AWS DynamoDB中

此时,我可以通过Postman将原始JSON数据“发布”到API网关,Lambda函数将数据存储在DynamoDB表中。我在我的网站上创建了一个.ajax来收集数据并将其作为JSON发送。但我总是犯这样的错误:

我的AJAX:

$(document).ready(function(){
$("#form>button[type=submit]").click(function(event){
    event.preventDefault();

    let apiGatewayInvokeURL = 'https://gxt8igxck7.execute-api.eu-central-1.amazonaws.com/dev/test';
    
    var body = {
    KundenID : $("#KundenID").val(), 
    Vorname : $("#Vorname").val(), 
    Nachname : $("#Nachname").val(),
    Telefonnummer : $("#Telefonnummer").val(),
    Email : $("#Email").val(),
    Strasse : $("#Strasse").val(),
    Hausnummer : $("#Hausnummer").val(),
    PLZ : $("#PLZ").val(),
    Ort : $("#Ort").val(),
    Ankunftszeit : $("#Ankunftszeit").val(),
    Abreisezeit : $("#Abreisezeit").val(),
    datencheck : $("#datencheck").val() 
    };

    $.ajax({
        type: 'POST',
        url : apiGatewayInvokeURL,
        crossDomain: 'true',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(body),

        success: function () {
            $("#form").trigger('reset');
            alert('Successfull');
           },
        error: function (response) {
              alert('Failed: HTTP ' + response.status);
          }
          });  
       });
 });
我就是找不到这个错误的原因。API网关显然可以处理POST请求,但可能我对我正在做的事情有错误的想法。如果你需要更多的数据,请告诉我

提前谢谢

编辑

以下是提交时Chrome的网络选项卡:

Post请求似乎要发送到S3 Bucket服务器而不是API网关? 我的请求头的内容类型是application/x-www-form-urlencoded,不应该是application/json吗

编辑最后一次

发现错误。。显然

$("#form>button[type=submit]").click(function(event)
没有按预期工作。因此

event.preventDefault();
未正确调用,表单本机发布到网站主机,该主机为S3 Bucket,不允许POST请求。我把密码改成

    $("#btn").click(function(event){
    event.preventDefault();
现在,在修复了一些小的CORS错误之后,它就像一个魔咒一样工作。 也许这对某人有帮助