2011-10-27 12 views
8

JSON形式のjQuery ajax呼び出しを使用して、あるASP.NETページから別のASP.NETページへデータをポストしています。jQuery.ajaxエラー応答メッセージの解析

状況をシミュレートしています。ここでは、ajax呼び出しでエラーが発生します。私はエラーの場合に応答メッセージを受け取り、このhtmlをページ上の要素に割り当てる必要があります。ここで

は、私がメッセージに得るものです: jquery.ajax response

私はクロームデバッガ経由見上げ、というjavascriptの変数、MSGはそれは私がresponseTextに必要な情報が含まれていることを私に示しています。

ページに表示するresponseTextの値を取得するにはどうすればよいですか?

答えて

14

JavaScriptの変数名では、大文字と小文字が区別されます。あなたの例では、msgオブジェクトのresponseTextフィールドにアクセスしようとしましたが、大文字の「R」を持っていました。代わりにこれを試してみてください:

msg['responseText'] 

またはより良いスタイルで:

msg.responseText 
+0

+1にエラーを得たことを想定しています。 – ZenMaster

+0

ほぼありました=)ありがとうございました。 –

2

そのオブジェクトがxhr.responseText

あなたが見ることができます
error: function(xhr, status, error) { 

    var err = eval("(" + xhr.responseText + ")"); 

    alert(err.Message); 

} 
+0

私の最初の誘惑はevalを使って投票することでした...しかし、これは本当にうまくいきます!! :-)この答えをありがとう。 – richb01

2

のようにアクセスするには、ドット表記を使用しているのであなたのマウスポインタのすぐ下にあるコード - 大文字の "R"ではなく、 "r"だけで:

msg['responseText'] 
1
<div id='error'></div> 

は、uは、スタイルの提案のためのmsg

$('#error').html(msg.responseText)