0

以下のコードからの応答テキストは、画面に出力する以外に何もできません。if ステートメントを使用して応答テキストが何であるかを確認したいのですが、これを試しても何も出力されません。

この例では、応答テキストが「2」であると仮定します。

コード:

Set xmlhttp = server.CreateObject("MSXML2.XMLHTTP")
xmlhttp.open "POST", url,false
xmlhttp.setRequestHeader "Content-Type", "text/xml"
message = "test example"
xmlhttp.send(message)

if xmlhttp.responseText = "2"
response.Write("Found a 2")
end if

何が起こっているかというと、response.Write(xmlhttp.responseText) だけで 2 つが出力されますが、応答テキストに対して文字列関数を実行しようとすると、それは無視され、何も出力されません。

どんな助けでも大歓迎

4

1 に答える 1

2

responseText は文字列値 "<"return>2</"/return> を送信しますが、この値を印刷すると非常にインテリジェントであるため、2 のみが印刷されます。そのため、「2」と比較すると一致しません。解決しました。この問題は search() メソッドによって、例えば....

var 応答 = xmlhttp.responseText;

var found = response.search("2");

if(found != -1) { alert ( "Found a 2" ); }

説明: この string1.search(string2) メソッドは、string2 が string1 に見つからない場合に -1 を送信します。ただし、見つかった場合は、最初に見つかった位置を送信します。したがって、結果が -1 でない場合は、string2 が string1 にあることが確実です。この方法で試すことができます。あなたの問題を解決できると思います。幸運を祈ります。

于 2011-01-18T07:20:26.180 に答える