【发布时间】:2017-05-23 16:12:05
【问题描述】:
d3:4.8.0
我在后端强制使用 HTTP 401 响应来测试授权例程。
d3.request().on('error', function(e){...}) 未被调用。
d3 文档让我觉得应该这样做:https://github.com/d3/d3-request/blob/master/README.md#request_send
示例 JS:
var postData = whatever;
d3.request(someURL)
.on('error', function(e) {
console.log('In on(error): ', e);
})
.header("Content-Type","application/x-www-form-urlencoded")
.send('POST', postData, function(error,response) {
if (error) {
console.log('Error in send() callback: ', error);
return;
}
console.log('okay');
});
预期控制台日志:
POST https://someURL/ 401 (Unauthorized)
XHR finished loading: POST "https://someURL/"
In on(error): ProgressEvent {isTrusted: true ... }
收到控制台日志:
POST https://someURL/ 401 (Unauthorized)
XHR finished loading: POST "https://someURL/"
In send(): ProgressEvent {isTrusted: true ... }
未触发 on('error') 回调。我已经尝试更改链中的 on() 调用位置,这无关紧要,也没有。
【问题讨论】:
标签: javascript ajax d3.js callback xmlhttprequest