javascript - 如何强制 Azure 函数将 JSON 输出到浏览器

标签 javascript json node.js azure azure-functions

我有一个使用这个来源的 azure 函数设置:

module.exports = function(context, req) {
    //this is the entire source, seriously
    context.done(null, {favoriteNumber : 3});
};

当我使用像 postman 这样的工具来访问它时,我会得到一个很好的 JSON 输出,就像我想要的那样:
{
  "favoriteNumber": 3
}

问题是当我在浏览器(chrome、firefox 等)中访问它时,我看到:
<ArrayOfKeyValueOfstringanyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><KeyValueOfstringanyType><Key>favoriteNumber</Key><Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema" i:type="d3p1:int">3</Value></KeyValueOfstringanyType></ArrayOfKeyValueOfstringanyType>

enter image description here
无论请求 header 如何,如何强制 azure 始终给我一个 json 输出?

最佳答案

您是否尝试过设置响应对象的 Content-Type明确到 application\json ?

module.exports = function(context, req) {
    res = {
        body: { favoriteNumber : 3},
        headers: {
            'Content-Type': 'application/json'
        }
    };

context.done(null, res);
};

默认情况下,功能配置为内容协商。当你调用你的函数时,Chrome 会发送一个像
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

所以,它要求 XML 并得到它。

关于javascript - 如何强制 Azure 函数将 JSON 输出到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42986354/

相关文章:

json - Go-复制结构之间的所有公共(public)字段

node.js - 将 PostgreSQL CURRENT_DATE 函数与 Node 和 pg-native 一起使用

node.js - 数组拼接后 Mongoose 模型不保存

node.js - 使用不需要导出

javascript - Ajax表单提交preventDefault()不起作用

javascript - 如何在输入中模糊文本 onblur 事件

json - 获取 Facebook 事件到 RSS 提要

python - 如何优雅地解决Python KeyError(Python csv库)

javascript - 如何对除最后一个之外的所有 <li> 实现添加/删除类?

javascript - 在基于嵌套关联加入表时对 : how to get flattened data, 进行 Sequelize ?