Мне нужно получить ошибки статуса http с m.request
, поэтому я использую extract
согласно документации. Но по какой-то причине это портит мои данные.MithrilJS: Как получить XHR.status по ошибке и данные об успехе с m.request()
Согласно документам, если я использую extract
для получения статуса, то extract
return передается как параметр обратного вызова ошибки, и данные передаются на обратный вызов успеха. Вот фрагмент документов.
var nonJsonErrors = function(xhr) {
return xhr.status > 200 ? JSON.stringify(xhr.responseText) : xhr.responseText
}
m.request({method: "GET", url: "/foo/bar.x", extract: nonJsonErrors})
.then(function(data) {}, function(error) {console.log(error)})
Теперь я получаю статус как для успешных, так и для обратных вызовов ошибок, что неверно. Мне нужно получить статус ошибки и данные об успехе. Как мне это сделать? Что я делаю не так? Вот мой код:
var Application = {
run() {
m.request({
method: "GET",
url: "http://localhost:3000/api/session/ping",
extract(xhr) {return xhr.status;}
}).then((data) => {
console.log("Session is Up");
console.log(data);
var init = {
uname: data.uname
};
router(init);
}, (error) => {
console.log(`Cought: ${error}`);
m.mount(document.body, Login);
});
}
};
И ошибки, и данные здесь дают мне коды статуса. Мне нужно получить входящие данные об успехе, чтобы настроить мою аутентификацию.
Спасибо.