我一直在挣扎,并且很难弄清楚如何将服务器错误消息传递给客户端。
在服务器上我(简化):
export function get(req: express.ExpressServerRequest, res: express.ExpressServerResponse) {
res.statusCode = 500;
res.send('CUSTOM ERROR MESSAGE');
}
在客户端:
public fetchObject(successF: Function, failF: Function): void {
this.myObj = new MyObj();
this.myObj.fetch({ success: successF, error: failF });
}
private failF(model, xhr, options): void {
// Want to get access to "CUSTOM ERROR MESSAGE"
}
xhr对象responseText为空,statusText始终为“error”。
有什么建议吗?谢谢!
答案 0 :(得分:1)
找到解决方案。定义一个类变量并捕获fetch调用的返回值:
private xhr: XMLHttpRequest = null;
然后:
public fetchObject(successF: Function, failF: Function): void {
this.myObj = new MyObj();
this.xhr = this.myObj.fetch({ success: successF, error: failF });
}
最后:
private failF(model, xhr, options): void {
doSomething(this.xhr.responseText);
}
this.xhr将包含reponseText(即“CUSTOM ERROR MESSAGE”)。本地xhr仍然是一个空白字符串。
我仍然不确定为什么会这样,如果有人有一些见解,我会很感激。