2013-08-30 35 views
1

我一直在顛簸一小會兒,難以弄清楚如何將服務器錯誤消息傳遞給客戶端。將服務器錯誤消息傳遞給客戶端(使用Express和Backbone)

在我已(簡化的)服務器:

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的爲空,狀態文本總是 「差錯」。

有什麼建議嗎?謝謝!

回答

1

找到了解決辦法。定義一個類變量,並捕獲從獲取回報撥打:

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(即「自定義錯誤信息')。本地xhr仍然是一個空白字符串。

我還不確定爲什麼會出現這種情況,如果有人有一些見解,我會很感激。

相關問題