asp如何得到当前url的地址和window.location一样的效果

无·法 2018-07-18 10:08:23
asp获取当前url一般我们都是用Request.ServerVariables("HTTP_HOST")、Request.ServerVariables("PATH_INFO")、Request.ServerVariables("QUERY_STRING")这3个拼接得到的。

可是有时访问的时候是缺省默认首页的。例如:http://testxxx.com/api/getkey?n=304293893
用拼接的办法得到的就是:http://testxxx.com/api/getkey/index.asp?n=304293893
而用window.location得到的是:http://testxxx.com/api/getkey?n=304293893

请问asp有什么方法可以得到和window.location一样的结果呢?

这个问题的意义在于调用微信jssdk的时候要根据当前网址加其他内容然后sha1计算出签名signature,而经过测试如果访问的是用http://testxxx.com/api/getkey?n=304293893去访问的,用http://testxxx.com/api/getkey?n=304293893去计算出来的signature是合法的,而用http://testxxx.com/api/getkey/index.asp?n=304293893就会提示非法,invalid signature,所以asp中必须得到当前原原本本的url,而不是单纯的拼接。
...全文
629 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Seven小七 2018-08-02
  • 打赏
  • 举报
回复
引用 12 楼 sysdzw 的回复:
引用 10 楼 h472591847 的回复:
把index.php替换成空
我昨天就是用的这个办法,只是觉得不妥么。才来问的。 9楼的是终极解决办法。

嗯。 微信就是坑
无·法 2018-07-18
  • 打赏
  • 举报
回复
引用 4 楼 mclovin 的回复:
这是JS问题吧,和asp有什么关系
要在asp中获取原始地址,计算签名要用原始地址。
无·法 2018-07-18
  • 打赏
  • 举报
回复
引用 5 楼 u012536120 的回复:
Request.ServerVariables("Url")
返回服务器地址
试了下不行呀。返回的是/api/getkey/index.asp这样

期望的是得到:
http://testxxx.com/api/getkey?n=304293893
NANU-NANA 2018-07-18
  • 打赏
  • 举报
回复
有请小P。。。。。。
sanGuo_uu 2018-07-18
  • 打赏
  • 举报
回复
Request.ServerVariables("Url")
返回服务器地址
拉文麦克 2018-07-18
  • 打赏
  • 举报
回复
这是JS问题吧,和asp有什么关系
无·法 2018-07-18
  • 打赏
  • 举报
回复
你要是能用PHP实现也行呀,估计动态语言都没法获取的。 window.location是客户端浏览器在文档加载后才能使用的,而服务端在文档加载前就要得到,所以肯定无法调用window.location了。我觉得是iis服务器没有提供用户访问直接网址的方法。
无·法 2018-07-18
  • 打赏
  • 举报
回复
引用 1 楼 u012536120 的回复:
没写过asp,它也用js调用后台方法的吗。
你在js里获取location.href,然后把它传到后台,
就可以了吧
不可以的。 因为wx.config四个参数在网页加载好就要设置好的,然后才允许调用jssdk里的东西。
sanGuo_uu 2018-07-18
  • 打赏
  • 举报
回复
没写过asp,它也用js调用后台方法的吗。
你在js里获取location.href,然后把它传到后台,
就可以了吧
无·法 2018-07-18
  • 打赏
  • 举报
回复
引用 10 楼 h472591847 的回复:
把index.php替换成空
我昨天就是用的这个办法,只是觉得不妥么。才来问的。 9楼的是终极解决办法。
无·法 2018-07-18
  • 打赏
  • 举报
回复
引用 9 楼 u012536120 的回复:
微信分享JSSDK-invalid signature签名错误的解决方案
是相同的问题吧
它说了,可以在前端通过ajax将url传到后台签名
确实是个好办法,原来js动态去设置也是可以的。我以为页面输出的时候就要弄好的呢。
Seven小七 2018-07-18
  • 打赏
  • 举报
回复
把index.php替换成空
sanGuo_uu 2018-07-18
  • 打赏
  • 举报
回复
微信分享JSSDK-invalid signature签名错误的解决方案
是相同的问题吧
它说了,可以在前端通过ajax将url传到后台签名

3,159

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧