asp-classic - 每个请求加载两次经典 ASP 页面
问题描述
我在经典 ASP 中使用Jscript作为脚本语言有这个非常直接和简单的脚本:
var counter_value = Session.Contents.Item("counter") || 0;
Response.Write("old:" + counter_value);
Session.Contents("counter") = counter_value + 1;
Response.Write("<br/>");
counter_value = Session.Contents.Item("counter");
Response.Write("new: " + counter_value);
当这个脚本第一次在浏览器中运行时,我得到这个输出:
old: 0
new: 1
但是当我在浏览器中刷新页面时,我得到了一个意想不到的结果:
old: 2
new: 3
为什么会这样?
解决方案
发现问题来自每个请求执行两次的页面,因为 url-rewrite 中的规则。
该规则规定所有请求都应重写为index.asp
,因此当浏览器发送请求时,index.asp
响应中会返回 的内容。
favicon.ico
当浏览器自动请求图像时,同样的事情会再次发生。
推荐阅读
- vue.js - 使 v-data-table 行在新选项卡中打开(vuetify)
- javascript - Discord.js 生成频道邀请
- amazon-web-services - 用于服务 elasticbeanstalk 的模型缺少 serviceId 元数据属性
- ios - 当我停止视频录制时,颤振视频录制返回异常
- javascript - 变量 \"$file\" 的值无效
- wordpress - 使用 WooCommerce 中的属性将正确的产品添加到购物车
- ios - 表格视图上的搜索栏时如何仅显示技能?
- swift - SwiftUI @AppStorage 不在函数中刷新
- angular - Angular Universal:找不到模块 server.js
- javascript - 使用jquery中的if else语句获取返回真值