Javascript Azure功能:如何访问context.res.body的内容?
在我的网站上,我使用azure函数上的FetchPost请求来存储一些数据。如果函数接收到所有数据,则Javascript Azure功能:如何访问context.res.body的内容?,javascript,json,azure,azure-functions,Javascript,Json,Azure,Azure Functions,在我的网站上,我使用azure函数上的FetchPost请求来存储一些数据。如果函数接收到所有数据,则context.res.satus设置为200,否则设置为400,context.res.body根据接收到的数据量设置为确认消息: var returnMessage = mail ? "User entry successfully added to the database" : "Please enter a valid email";
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.),然后((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>`;
}
}
但是每次我尝试
response.json()
,它都会失败,只有.catch()
部分会运行。发生了什么以及如何访问存储在response.body
中的字符串?如果格式不是json,函数response.json()
将返回错误。您可能没有在post请求中设置内容类型:application/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>`;
});
}
}