【问题标题】:Passing server error message to client (using Express and Backbone)将服务器错误消息传递给客户端(使用 Express 和 Backbone)
【发布时间】:2013-09-03 13:18:27
【问题描述】:

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

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

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

有什么建议吗?谢谢!

【问题讨论】:

    标签: node.js backbone.js express typescript


    【解决方案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 仍将是一个空白字符串。

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

    【讨论】:

      猜你喜欢
      • 2010-09-24
      • 1970-01-01
      • 2013-02-22
      • 2013-04-24
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 2016-09-18
      • 2017-04-15
      相关资源
      最近更新 更多