0

これは簡単に検索できるはずですが、この場合、関連するドキュメントは機能しません。次のXMLを使用してWebサービス呼び出しから応答が返ってきたとします。

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello, World!  str=1</string>

値を抽出できるようにしたいだけです-Hello、World!str = 1-string.replace()などを使用する必要はありません。XMLがresponseという変数に格納されていて、次のコードが呼び出された場合:

alert(response.documentElement.nodeValue)

「未定義」が表示されます。一体何?Webメソッドから文字列または任意の種類の通常のプリミティブを取得したいだけです(JSONなどは使用していません)が、これを行う方法に関するドキュメントを見つけるのは困難です。これはどうやるんですか?ありがとう!

編集:コードは次のとおりです。

<WebMethod()> _
Public Function HelloWorld(ByVal str As Int32) As String
    Return "Hello, World!  str=" & str
End Function

<html>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/JavaScript">
    <!--
        $.ajax({
            type: "POST",
            data: "&str=1",
            dataType: "xml",
            url: "<HTTP path and filename>.asmx/HelloWorld",
            timeout: 15000,
            cache:false,
            success: function (result) {
                alert(result);
            },
            error: function() {
                alert("bad");
            }
        });
    //-->
</script>
</body>
</html>

それが示している:

[object XMLDocument]
4

1 に答える 1

1

との両方response.documentElement.textContentで、response.documentElement.firstChild.nodeValue提供したサンプルXMLドキュメントを含むテキストコンテンツが提供されます。

于 2012-11-02T21:07:29.680 に答える