1

我一直在挣扎,很难弄清楚如何将服务器错误消息传递给客户端。

在我拥有的服务器上(简化):

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 始终为“错误”。

有什么建议么?谢谢!

4

1 回答 1

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 将包含响应文本(即“自定义错误消息”)。本地 xhr 仍将是一个空白字符串。

我仍然不确定为什么会这样,如果有人有一些见识,我将不胜感激。

于 2013-08-31T17:13:23.127 回答