【问题标题】:Make http call from within Javascript Express app从 Javascript Express 应用程序中进行 http 调用
【发布时间】:2015-08-06 09:37:22
【问题描述】:

我正在构建一个 express (http://expressjs.com/) 应用程序,它将通过解析另一个网页来创建一个 API。以下是我创建路线的方式:

app.get('/api/json', test.jsonParser);

这是我的 jsonParser 方法:

exports.jsonParser = function(req, res) {
    var client = new XMLHttpRequest();
    client.open('GET', smhiURL);
    client.onreadystatechange = function() {
        if (client.readyState == 4 && client.status == 200) {
            if (client.responseText) {
                res.render('hello', { message: 'Congrats, you just set up your app!' });
            } else {
                res.status(404).send("Page not found.");
            }
        }
    }
    client.send();
}

我在onreadystatechange中发送的消息只是使用默认模板,所以我可以测试一切是否正常,但不是,我收到NetworkError: 500 Internal Server Error

任何想法为什么这不起作用?我猜有一些异步问题,但是,rendermethod 被调用到很晚..,但没有找到任何更好的方法来处理 express 中的请求。

【问题讨论】:

    标签: javascript http express


    【解决方案1】:

    使用 https://www.npmjs.com/package/request 并将响应发送出去。

    注意:XMLHttpRequest 通常限制在同一来源。

    【讨论】:

    • 我会检查请求。感谢Note,我只是在谷歌上搜索restricted to the same origin 现在我知道为什么会出现这个错误。
    猜你喜欢
    • 2020-07-14
    • 2016-10-13
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多