在Javascript Express应用程序中进行http调用

时间:2015-08-06 09:37:22

标签: javascript http 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发送的消息只是使用defult模板,所以我可以测试一切是否正常,但不是,我得到NetworkError: 500 Internal Server Error

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

1 个答案:

答案 0 :(得分:3)

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

注意:XMLHttpRequest通常仅限于同一来源。