我们有一个脚本 A,它通过向脚本 B 发送一个带有一些 GET 参数的 HTTPRequest 来获取信息。
var URL = "http://domain.com/scriptB?ID="+ID;
var XMLGateway = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
XMLGateway.open("GET", URL, false);
XMLGateway.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
该脚本 B 然后使用传递给它的查询字符串中的 ID 来返回一些信息。然而,这是不一致地抛出错误。
一些调查显示,我们在 GET 中传递的不是 ID(它总是采用五位数字的格式),而是使用像“.sp-app-5”这样的字符串,其中数字是 5-9 所以远的。
String("["+Request("ID")+"]"); // [.sp-app-9]
我在处理这个错误时遇到了麻烦,因为脚本 B 中使用的 Request.QueryString 显示了脚本 A 接收到的 QS。但是,Request("ID") 正在返回上述异常字符串。
Server.HTMLEncode(Request.ServerVariables("HTTP_HOST")); // domain.com
Server.HTMLEncode(Request.ServerVariables("QUERY_STRING")); // scriptA?some=values&foo=bar (same result as Request.QueryString)
如何显示脚本 B 在 HTTP 请求中接收的查询字符串?