2011-06-21 10 views
2

を得ていない私のjQueryのPOSTリクエストで、どのように私は戻ってXML応答を取得することができ、私はここに私の期待されるXMLはjQueryのポストここでは、XML応答

は私のjqueryのポストは

$.post("/csm/viewall.action", 
    { sessiontoken: sessiontoken }, 
     function(xml) 
     { 
      alert(xml); 
     } 
); 
あるとして、応答が来ているフィドラーで確認

アラートはそれがある[object XMLDocument]

マイXML

<list> 
<com.abc.db.ConfigInfo> 
<cfgId>83</cfgId> 
<cfgName>test</cfgName> 
<cfgDesc>test</cfgDesc> 
<cfgType>test</cfgType> 
<fileName>csmclientbenz.xml</fileName> 
<absolutePath>../webapps/csm/files//1-105101/csmclientbenz.xml</absolutePath> 
</com.abc.db.ConfigInfo> 
<com.abc.db.ConfigInfo> 
<cfgId>82</cfgId> 
<cfgName>test1</cfgName> 
<cfgDesc>test2</cfgDesc> 
<cfgType>test1</cfgType> 
<fileName>csmclientbenz.xml</fileName> 
<absolutePath>../webapps/csm/files//1-105101/csmclientbenz.xml</absolutePath> 
</com.abc.db.ConfigInfo> 
<list> 
+1

'XMLDocument'はあなたが望むものです。あなたの問題を解決しないでください。 – DanielB

+1

明らかにそれが働いています... – js1568

+0

私はあなたの質問に答えることはできませんが、私はこの種のもののためのXML上のJSONを推奨することができます、より少ない面倒で少ないトラフィック。可能であればもちろん。 –

答えて

0

を返します。成功のイベントとエラーイベントをキャッチしようとし失敗:

var jqxhr = $.post("example.php", function() { 
    alert("success"); 
}) 
.success(function() { alert("second success"); }) 
.error(function() { alert("error"); }) 
.complete(function() { alert("complete"); }); 
+0

これは何が起こっているのではないですか?インラインコールバックは常にsuccess関数です。 – js1568

1
これにコードのあなたの行を変更し

:ここ

alert($(xml).find('list').html());

+0

ここでヌルになる – Ricky

+0

アップデートをお試しください。 'rootElement'を適切な文字列に置き換えてください。 – js1568

1

です。これはXMLDocumentオブジェクトの形式です。

次に、jQuery(xml)を使用して、jQueryオブジェクトを作成して、標準jQueryメソッドを操作することができます。

+0

' xmlDoc = $ .parseXML(xml);のようなものですか? – Ricky

+0

@Rickey:いいえ。XMLを解析する必要はありません。既にXMLDocumentがあります。つまり、 'var xmlDoc = $(xml)' – Dancrumb

関連する問題