2011-08-03 14 views
3

dojoのxhrPostのエラーハンドラをトリガするには、サーバレスポンスを送信する特定の形式がありますか?または、ステータスコードをHttpServletResponseオブジェクト内の必要なエラーコードに設定するだけで作業ができます。dojo xhrPostエラーハンドラのサーブレット応答形式

おかげで、 RR

+0

可能性のある複製http://stackoverflow.com/questions/5721949/what-is-considered-and-ajax-request-error-in-dojo – hugomg

答えて

3

あなただけHttpServletResponseにappropiate HTTPステータスコードを設定する必要があります。私は400以上のものはXHRオブジェクトによってエラーとみなされると思います。

もちろん、実際のコンテンツを(出力ストリームを介して)レスポンスに送信し、そのコンテンツタイプを設定することもできます。あなたは同様にあなたのハンドラでそれを受け取ります:

dojo.xhrPost({ 
    url: '/request', 
    load: function(data, ioargs) { /* ... */ }, 
    error: function(error, ioargs) { 
    // error is a Javascript Error() object, but also contains 
    // some other data filled in by Dojo 
    var content = error.responseText; // response as text 
    var status = error.status;   // status code 
    } 
}); 

あなたはまた、完全なXmlHttpRequest目的である、ioargs.xhrからresponseTextstatusを得ることができます。

+0

ありがとうございましたGustavo。これは私が探していたものです。 – rishi