根据Crossrider文档,目前有一个带有onRequest事件的webRequest对象,它允许访问请求URI等,但我找不到任何方法来检查响应数据。我想知道是否有办法实际检查该请求的响应,例如响应头和可能的响应数据。谢谢你的帮助。
答案 0 :(得分:3)
我出去了,但我认为你是在AJAX请求之后,在这种情况下你是在appAPI.request API之后,你确实可以获得响应和标题数据。 appAPI.webRequest API类似于Chrome's webRequest API用于观察和分析流量以及拦截,阻止或修改飞行中的请求"。
如果情况并非如此,请您澄清您的情况。
[对评论的回应]
首先让我澄清webRequest API在发出请求之前运行(即浏览器正在请求页面但尚未发出实际的HTTP请求),因此它与谈论响应数据无关。
但是,由于URL是在webRequest的详细信息中提供的,因此您可以使用上述appAPI.request API自行获取响应数据和标题,如下所示:
appAPI.ready(function() {
appAPI.webRequest.monitor.onBeforeNavigate.addListener({
callback: function(details) {
appAPI.request.get({
url: details.requestUrl,
onSuccess: function(response, additionalInfo) {
appAPI.db.async.set(details.requestUrl, {
response: response,
headers: additionalInfo.headers
});
}
});
}
});
});
注意:对于此示例,我使用了专为监控而设计的新的 webRequest.monitor API。它目前尚未记录(文档应在下周左右完成),但您可以开始在Chrome,Firefox和Internet Explorer中使用它。
[披露:我是Crossrider员工]