Не могу использовать любые строковые функции в тексте ответа xmlhttp в VBScript - PullRequest
0 голосов
/ 09 августа 2010

Я не могу ничего сделать с текстом ответа из приведенного ниже кода, кроме как вывести его на экран.Я хочу использовать оператор 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), он распечатает их, но когда я пытаюсь выполнить любые строковые функции в тексте ответа, он игнорирует егои ничего не печатает

Любая помощь приветствуется

1 Ответ

2 голосов
/ 18 января 2011

responseText отправляет вам строковое значение "<" return> 2 <"/ return>, но когда вы печатаете это значение, оно очень сложное, поэтому будет напечатано только 2. Поэтому при сравнении с" 2 "оно не совпадаетЯ решил эту проблему методом search (), например ....

var response = xmlhttp.responseText;

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

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

объяснение: этот метод string1.search (string2) отправляет -1, если string2 не найден в string1.но если он найден, он отправляет вам позицию первого найденного. Поэтому, если результат не равен -1, тогда он уверен, что он находится в строке 2. В строке 1. Вы можете попробовать таким образом. Я думаю, что вы можете решить свою проблему..

...