AJAX Post到AWS API网关不工作(不允许使用405方法),但它与Postman一起工作
我用bootstrap构建了一个小的HTML表单,并将其作为静态网站托管在AWSS3存储桶中。然后,我添加了一个AWSAPI网关和Lamda函数,以便将来自此表单的数据存储到AWS DynamoDB中 此时,我可以通过Postman将原始JSON数据“发布”到API网关,Lambda函数将数据存储在DynamoDB表中。我在我的网站上创建了一个.ajax来收集数据并将其作为JSON发送。但我总是犯这样的错误: 我的AJAX: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
$(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错误之后,它就像一个魔咒一样工作。
也许这对某人有帮助