gpt4 book ai didi

javascript - AWS Lambda 无法通过 AJAX 工作

转载 作者:行者123 更新时间:2023-12-05 07:41:51 26 4
gpt4 key购买 nike

我有一个工作的 AWS lambda(已部署和运行),通过 API 网关提供 HTTPS 响应,我现在正试图将其合并到一个 html 页面中。但是这个 URL 的 ajax 一直失败(例如,对于本地文件工作正常)。

使用 curl -v 调用时 lambda 的输出:

* TCP_NODELAY set
* Connected to ....execute-api.eu-central-1.amazonaws.com (54.230.197.250) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.execute-api.eu-central-1.amazonaws.com
* Server certificate: Symantec Class 3 Secure Server CA - G4
* Server certificate: VeriSign Class 3 Public Primary Certification Authority - G5
> GET /XXX HTTP/1.1
> Host: ....execute-api.eu-central-1.amazonaws.com
> User-Agent: curl/7.51.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 65
< Connection: keep-alive
< Date: Wed, 12 Jul 2017 11:55:26 GMT
< x-amzn-RequestId: fe78ee4b-66f8-11e7-a1ac-470fc8454a23
< Access-Control-Allow-Origin: *
< X-Amzn-Trace-Id: sampled=0;root=1-59660e2e-9a6e70cc6d287d90115f73df
< Access-Control-Allow-Credentials: true
< X-Cache: Miss from cloudfront
< Via: 1.1 8ff53834d03bf51be6d4cf56d4e91f1d.cloudfront.net (CloudFront)
< X-Amz-Cf-Id: pgseseaEv_Y12mzVCY07q2EfKOy9SSn_ztmMxvpKmBRPkTDXCjsJ6A==
<
* Curl_http_done: called premature == 0
* Connection #0 to host ....execute-api.eu-central-1.amazonaws.com left intact

我的js文件中的ajax调用如下:

$.ajax({
url: "https://....execute-api.eu-central-1.amazonaws.com/XXX",
contentType: "application/json",
success: function(result) {
document.write(result);
console.log(result);

}});

(请假设 curl 和 ajax 调用中的 URL 相同)

现在 - 我从未在网页或控制台上看到结果,但如果我将 lambda 的 URL 替换为本地 README.md 文件 - 我确实会在那里看到它。另一方面,在 curl 上或在浏览器中调用 lambda 的 url 可以很好地显示我的 lambda 的输出。

我在这里错过了什么?谢谢!

最佳答案

因为这个请求是从浏览器发出的,所以有CORS限制。

要使 API 能够从 API 自己的域以外的域接收请求,您必须 enable CORS for API Gateway Resource .

另一个选项是使用 AWS Javascript SDK .在这种情况下,您不需要进行此 CORS 配置。

关于javascript - AWS Lambda 无法通过 AJAX 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com