gpt4 book ai didi

javascript - Azure 函数 : How does one access the contents of context. res.body?

转载 作者:行者123 更新时间:2023-12-02 07:00:29 25 4
gpt4 key购买 nike

在我的网站上,我在 azure 函数上使用 fetch POST 请求来存储一些数据。如果该函数接收到所有数据,则 context.res.satus设置为 200,否则设置为 400,并且 context.res.body根据收到的数据量设置为确认消息:

    var returnMessage = mail ? "User entry successfully added to the database" : "Please enter a valid email";
returnMessage = phone ? returnMessage : "Please enter a valid phone number";
returnMessage = lName ? returnMessage : "Please provide your last name";
returnMessage = fName ? returnMessage : "Please procide your first name";
returnMessage = partKey ? returnMessage : "Something went wrong while generating a partition key";

context.res = {
status: (partKey && fName && lName && phone && mail) ? 200 : 400,
body: returnMessage
};

所以,我打电话fetch('URL',someStuff).then((res) => processResponse(res))在我的代码中,和 res总是返回绝对正常并传递给 processResponse ,看起来像这样:

function processResponse(response) {
if (response.status === 200) {
var test = JSON.stringify(response.body);
document.getElementById("output").innerHTML = `<div class="alert alert-success" role="alert">${test}</div>`;
}
}

如果函数接收到所有数据,则 div 元素“output”会被更新,如果没有,则不会更新,因此 response.status 的比较到 200 的值显然有效。变量test我最初认为如果设置为 response.body 会起作用,但这不起作用,而是变量 test将被设置为单词“Object”。我对 JSON 知之甚少,但显然我们可以使用 JSON.stringify()将对象转换为字符串,因此为什么 test现在是JSON.stringify(response.body) ,但这只是使 test 的值等于一组空方括号。在我正在使用的教程中,他们说使用 response.json() ,像这样:

function processResponse(response) {
if (response.status === 200) {
response.json()
.then(function(data) {
document.getElementById("output").innerHTML = `<div class="alert alert-success" role="alert">${data.message}</div>`;
})
.catch(function(){
document.getElementById("output").innerHTML = `<div class="alert alert-success" role="alert">"Caught"</div>`;
});
}
}

但是每次我尝试 response.json() ,它失败了并且只有 .catch()部分运行。发生了什么以及如何访问存储在 response.body 中的字符串?

最佳答案

如果格式不是 json,函数 response.json() 将返回错误。您可能没有在发布请求中设置 Content-Type: application/json header ! (有关详细信息,请参阅 HTTP Content-Type Header and JSON)

关于javascript - Azure 函数 : How does one access the contents of context. res.body?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64631964/

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