Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AWS Lambda无法从AJAX工作_Javascript_Ajax_Amazon Web Services_Aws Lambda - Fatal编程技术网

Javascript AWS Lambda无法从AJAX工作

Javascript AWS Lambda无法从AJAX工作,javascript,ajax,amazon-web-services,aws-lambda,Javascript,Ajax,Amazon Web Services,Aws Lambda,我有一个工作的AWS lambda(已部署并运行),通过API网关提供HTTPS响应,我现在正试图将其合并到html页面中。但是ajax对于这个URL总是失败的(例如,对于本地文件来说效果很好) 使用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 us

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

使用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
}}))

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

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

我错过了什么?
谢谢

由于此请求是从浏览器发出的,因此存在限制

要使API能够从API自己的域以外的域接收请求,您必须


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

CORS设置正确,我们对其进行了测试。另外,使用AWS JS SDK意味着使用node,我们希望避免这种情况。谢谢。浏览器有一个AWS JS SDK,服务器有一个AWS NodeJS SDK。没错,马克。你不需要节点,奥伦·萨里德。仔细查看浏览器的SDK(答案中有链接)
$.ajax({
    url: "https://....execute-api.eu-central-1.amazonaws.com/XXX",
    contentType: "application/json", 
    success: function(result) {
    document.write(result);
    console.log(result);