node.js和jsdom – 没有办法检测到HTTP 500错误返回?

我正在使用jsdom与node.js,我试图让它提供一些指示,发生了一个HTTP错误。 我build立了一个testing服务器,它仅仅为所有的请求返回一个http 500头,但是当我试图用jsdom加载时,jsdom不会抛出任何错误,也不会提供任何可以识别的信息一个http 500错误被返回。 检测http 500错误的最佳方法是什么?

我看起来像jsdom不检查状态码。 500个状态码不被Node的HTTP模块视为错误,所以它们被jsdom视为正确的响应。

我build议你在使用jsdom之前自己testing状态代码,并将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 }); } }); 

[*]请求模块: https : //github.com/mikeal/request