如何正确地将JQuery合并到Azure函数中?

时间:2018-01-17 02:37:51

标签: jquery node.js azure azure-functions

我想在Azure函数中使用JQuery来处理一些JSON数据(使用$ .getJSON)并遍历响应。我意识到我可以使用普通的Javascript重写它,但我希望只是回收一些旧的JQuery代码。

我使用Kudu控制台运行npm install jquery,我在JQuery文档中读到了它如何建议使用“jsdom”作为助手为无窗口环境提供窗口。我已经运行了npm install jsdom,但我不确定我的函数是否格式正确(此函数使用了JQuery文档中的the jsdom sample code):

require("jsdom").env("", function(err, window) {
    if (err) {
        console.error(err);
        return;
    }

    var $ = require("jquery")(window);
});

module.exports = function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');



    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: "Hello " + (req.query.name || req.body.name)
        };
    }
    else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }
    context.done();
};

有没有人在Azure功能中成功使用过JQuery?或者不建议这样做?

1 个答案:

答案 0 :(得分:0)

$.getJSON是用XMLHttpRequest (XHR)编写的。 Natively Node.js不提供浏览器XHR API。

如果文件位于服务器本身,您可以使用fs.readFilefs.readFileSync

如果它位于远程服务器上,则可以使用request之类的模块执行异步XHR类型请求。例如:

request({
  url: 'http://...',
  json: true
}, function(error, response, body) {
  console.log(body);
});