在Javascript Express应用程序中进行http调用
Make http call from within Javascript Express app
我正在构建一个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
知道为什么这个不工作吗?我猜有一些异步问题,但是,render
方法被调用到晚…,但没有找到更好的方法来处理express内部的请求。
使用https://www.npmjs.com/package/request和管道输出响应。
注意: XMLHttpRequest's通常限制在同一个源。
相关文章:
- Meteor HTTP调用出现问题
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 正在等待HTTP调用从函数返回结果
- 如何在 http 调用成功时禁用锚标记
- 角度 2:使用一个 http 调用的结果来执行另一个调用
- 如何使用在 Javascript 中对 API 进行 HTTP 调用
- 如果statusCode不是200,那么从http调用返回什么类型的错误对象
- node.js:在for循环中进行http调用
- 如何在nodejs中的async.each中进行同步http调用
- 如何在node.js中使用promise进行同步http调用
- 当调用成功时,如何从angular 2中的http调用返回数据
- 循环AngularJS$http调用-TypeError:对象不是函数
- 我正在使用 $scope.$apply 在 http 调用后更新对象数组.谁能告诉我正确的方法
- Meteor HTTP 调用不断加载图像
- 进行多个 http 调用并使用承诺合并结果
- $http调用似乎产生了无限$digest循环
- AngularJS:http 链调用问题和 NodeJS:在多个 http 调用中使用变量的问题
- 使用 $watch 在属性更改时执行$http调用的角度服务
- AngularJS:如何使对象中的对象调用后续的http调用
- 如何在 ag-grid 中从 http 调用加载动态列和行(列和记录都应该是动态的)