我正在使用带有node.js的jsdom,我试图让它为我提供一些http错误已经发生的迹象.我已经设置了一个测试服务器,只为所有请求返回一个http 500标头,但当我尝试使用jsdom加载它时,jsdom不会抛出任何错误,似乎没有提供任何可识别的信息返回了http 500错误.检测http 500错误的最佳方法是什么?
我看起来像jsdom没有检查状态代码.Node的HTTP模块不会将500个状态代码视为错误,因此jsdom认为它们是正确的响应.
我建议你在使用jsdom之前自己测试状态代码并将jsdom传递给你的响应主体,即:
var jsdom = require('jsdom').jsdom;
var request = require('request'); //jsdom already uses request*
request("http://www.google.com/", function (err, response, body) {
if (!err && response.statusCode == 200) {
jsdom.env(body, function (errors, window) {
// your code
});
}
});
Run Code Online (Sandbox Code Playgroud)
[*]请求模块:https://github.com/mikeal/request
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |