在 API 网关上启用 CORS 后,以下是我发送到 http 端点的请求:
$.ajax({
type: 'put',
url: 'https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/artist/application/julian_test',
data: {params: {param1: "543543", param2: "fdasghdfghdf", test: "yes"}},
success: function(msg){
console.log(msg);
},
error: function(msg){
console.log(msg);
}
});
这是 lambda 函数(我使用的是 Node Serverless 包,代码没有错误):
module.exports.julian_test = (event, context, callback) => {
console.log(event);
console.log(event.body);
var response_success = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify({
firstUser: {
username: "Julian",
email: "awesome"
},
secondUser: {
username: "Victor",
email: "hello world"
},
thirdUser: {
username: "Peter",
email: "nice"
}
})
};
callback(null, response_success);
};
console.log(event.body) 注销:
params%5Bparam1%5D=543543¶ms%5Bparam2%5D=fdasghdfghdf¶ms%5Btest%5D=是
,这不是我想要的格式。我检查了 OPTIONS Integration Request/body 映射模板,这是快照。
我尝试删除“application/json”,但之后我收到以下响应:
XMLHttpRequest 无法加载https://xxxxxx.execute-api.us-east-1.amazonaws.com/dev/artist/application/julian_test https://xxxxxx.execute-api.us-east-1.amazonaws.com/dev/artist/application/julian_test。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“null”。响应的 HTTP 状态代码为 500。
有谁知道如何在后端 lambda 中获取原始字符串请求正文?请帮忙!