Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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函数的文本响应_Javascript_Amazon Web Services_Aws Lambda - Fatal编程技术网

Javascript 格式化来自AWS Lambda函数的文本响应

Javascript 格式化来自AWS Lambda函数的文本响应,javascript,amazon-web-services,aws-lambda,Javascript,Amazon Web Services,Aws Lambda,我一直在努力使用AWS Lambda、API网关和S3构建我的第一个无服务器web应用程序。好消息是,我已经让它工作了,所有的东西都在像我希望的那样互相交谈。坏消息是,我收到的短信回复很难看,我很难找到解决办法 网站: 如果单击按钮触发该函数,您将看到响应如下所示: {"Your Zodiac sign is :" "result"} 我正在尝试删除引号和括号。我尝试了JSON.parse,但这只产生了object。有没有关于我可以在哪里找到解决方案的提示? 为了获得响应,我使用以下javas

我一直在努力使用AWS Lambda、API网关和S3构建我的第一个无服务器web应用程序。好消息是,我已经让它工作了,所有的东西都在像我希望的那样互相交谈。坏消息是,我收到的短信回复很难看,我很难找到解决办法

网站:

如果单击按钮触发该函数,您将看到响应如下所示:

{"Your Zodiac sign is :" "result"}
我正在尝试删除引号和括号。我尝试了JSON.parse,但这只产生了object。有没有关于我可以在哪里找到解决方案的提示? 为了获得响应,我使用以下javascript函数:

    <script>
      function Lambda(){
        var month = document.getElementById("inmonth").value;
        var day = document.getElementById("inday").value;
        var date = {month : month, day : day};
        const xhttp = new XMLHttpRequest();
        const url= 'https://c50vvxrko9.execute-api.us-east-1.amazonaws.com/Zodiac'   

        xhttp.open("POST", url, true);
        xhttp.send(JSON.stringify(date));

        xhttp.onreadystatechange = function(){
          if (this.readyState == 4 && this.status == 200) {
            var resultElement = $("#sign-result");
            resultElement.text(this.responseText);

          }
        }
      }



函数Lambda(){
var month=document.getElementById(“inmonth”).value;
var day=document.getElementById(“inday”).value;
var date={月:月,日:日};
const xhttp=new XMLHttpRequest();
常量url=https://c50vvxrko9.execute-api.us-east-1.amazonaws.com/Zodiac'   
xhttp.open(“POST”,url,true);
send(JSON.stringify(date));
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var resultElement=$(“#签署结果”);
resultElement.text(this.responseText);
}
}
}

将整个响应放入HTML元素中

要解决此问题,一种方法是修改lambda以如下格式返回JSON:
{“result”:“}

然后使用:
resultElement.text(this.responseText.result)显示它在javascript代码中。

这与python有什么关系?它通过API网关调用的AWS Lambda函数是用python编写的。我把它放在这里,以防它以某种方式影响结果的传递方式,或者这正是我需要进行更改的地方。一些小评论:使用
const
(或者
let
)而不是
var
,使用
{month,day}
而不是
{month:month,day:day}
,使用
==
而不是
=
。在Lambda和Javascript中对代码进行了一些修改,使其工作起来,但确实如此!非常感谢。