【问题标题】:How to show the QueryString received by an AJAX HTTP Request如何显示 AJAX HTTP 请求收到的 QueryString
【发布时间】:2015-03-27 14:38:24
【问题描述】:

我们有一个脚本 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 请求中接收到的查询字符串?

【问题讨论】:

  • 您不能在浏览器中触发http://domain.com/scriptB.asp?ID=12345 并查看它返回的内容吗,这不会告诉您脚本是否搞砸了正在传递的ID 值吗?
  • 直接访问它可以按预期工作。在这种情况下,它也会正确返回 QS。但显然这对追踪这个错误没有好处,因为我无法重现导致它的环境。我很有信心在脚本 B 上捏造 QS 并没有什么问题
  • 并且您确信将ID 传递给scriptA.aspWinHttpRequest 是正确的?
  • 是的。如果 ID 输入不正确,它所运行的脚本会更加糟糕。为了达到这一点,在流程的前面已经使用了 ID。抱歉,我无法使用生产代码,但我试图尽可能地简化问题。
  • 仍然试图理解这个语句 - “我在处理这个错误时遇到了麻烦,因为脚本 B 中使用的 Request.QueryString 正在显示脚本 A 接收到的 QS。但是, Request("ID") 正在返回异常字符串,如上。" 您的意思是scriptB.asp 中的Response.Write Request.QueryString 将显示传递给scriptA.asp 的查询字符串,而不是预期的ID=12345

标签: asp-classic xmlhttprequest query-string jscript server-variables


【解决方案1】:

如果我理解正确,您需要验证脚本 A 是否正确发送请求中的 GET Querystring。对于这种情况,我经常使用 Telerek(在 Windows 上)提供的名为“Fiddler”的免费工具。它将监视您的所有 http 调用并记录请求和响应,包括查询字符串。它非常易于安装,并且在执行此类项目时非常有用。

这将帮助您缩小脚本 A 正确发送 ID 或脚本 B 错误解释 ID 的范围。

希望这会有所帮助!

www.telerik.com/download/fiddler

【讨论】:

  • 我之前曾短暂地玩过这个工具。不过,我将不得不检查我们是否可以在我们的一台机器上安全地运行它。记录所有流量的负载太大。
  • 我通常在我的开发笔记本电脑上运行它,在那里我会进行“SCRIPT A”调用。这样,您只需记录您的开发笔记本电脑调用。
猜你喜欢
  • 2019-07-20
  • 1970-01-01
  • 2021-12-22
  • 2013-12-30
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
相关资源
最近更新 更多