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) 它会打印出这两个,但是当我尝试对响应文本执行任何字符串函数时,它会忽略它并且什么也不打印

任何帮助表示赞赏

4

1 回答 1

2

responseText 给你发送一个字符串值 "<"return>2<"/return> 但是当你打印这个值时它非常智能,所以只会打印 2。所以当你与 "2" 比较时它不匹配。我解决了通过 search() 方法解决这个问题。例如....

var response = xmlhttp.responseText;

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

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

说明:如果在 string1 中找不到 string2,则此 string1.search(string2) 方法发送 -1。但如果找到它会向您发送第一个找到的位置。所以如果结果不是-1,那么可以确定它在string1中找到了string2。你可以试试这种方式。我认为你可以解决你的问题。祝你好运。

于 2011-01-18T07:20:26.180 回答