ASP 网站的 form 被强制用 Get 传送

WizardWu 2012-03-15 11:49:59
请教大大们,是否遇过网站被设定成,强制用 Get 而不能用 Post 传送 form 数据的情形?

遇到一个古董 ASP 网站,我写了一个测试网页放上去,结果发现它的 form 表单,
即使我写成如下用 post 传送数据,仍会被自动强迫改用 get 传送数据。

A.asp 网页内容如下,传到 B.asp 时,会变成用 get 传送 from 数据。

<form name="form1" id="form1" action="B.asp" method="post">
<input name="TheDate" id="TheDate" type="hidden" value="20120315"/>
<input type="submit">
</form>

目前小的我,想改回正常情况,代码写 post 就是用 post 传送,而不是被强制用 get 传送。
小的我对 ASP 是外行。

请问高手们,这可能是在哪里被设置的?

请问 IIS 中是否有类似设置? 抑或 ASP 中有哪种 config 共用设置文件可做此种设定?
甚或网管或网络硬件设备也可如此设置?

先感谢各位提供意见与分享 (此帖必会结帖,并给分给与提供任何有用意见的网友)。

...全文
250 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
WizardWu 2012-03-18
  • 打赏
  • 举报
回复
目前尚未確定真正原因,及為何 method="post" 改成英文大寫 METHOD="POST" 就能回復正常的原因,
但歸納出網友們提出的幾個可能原因:

(1) 該頁有 Frame 或 Include 了其他頁面 :
http://topic.csdn.net/u/20120315/23/8849db54-a203-4c47-9a6d-1ce312c9e11a.html
* 估计是哪里有设置,判断了method方式,但他匹配的是小写的post,像 if(methodValue=="post")然后改为get方式,所以你改成大写就没事儿了
* 找到全局的asp文件 看看是否在哪设定了 传输方式

(2) 被 JavaScript 改了 :
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20120315232926L3J&fumcde=FUM20041006161839LRJ
http://q.cnblogs.com/q/33094/
* 用JAVASCRIPT寫了程式修改FORM送出的方式
* Server只是接收端,不太能控制 Client 的 Get | Post,能控制 Client 行為,應該只有 JavaScript
* client端用ie看原始檔的method不是很準,因為用javascript還是能控制submit的行為

(2) form 的 action 是到一个 https (SSL) 的网页 :
http://www.blueshop.com.tw/board/FUM200410061525290EW/BRD20120315233002LGU.html
http://bbs.chinaunix.net/thread-580564-1-1.html
我知道为什么了,因为那个form的action是到一个https的网页,我的sniffer抓不到https的包,所以其实根本没看到那个form的提交,后来看到的get其实是又转到http后抓到的封包

(3) HTML dtd、DOCTYPE 的設定 :
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20120315232926L3J&fumcde=FUM20041006161839LRJ
HTML dtd宣告造成大小寫的關係
http://q.cnblogs.com/q/33094/
* 这个页面的DOCTYPE声明
* 根据W3C文件,method属性的預設值就是get,也就是说这里指定的post没有生效。
http://www.w3.org/TR/html401/interact/forms.html#adef-method

(4) 其他原因 :
IIS 聽說可做相關的 post, get 設定 (此點我未證實)。
WizardWu 2012-03-18
  • 打赏
  • 举报
回复
http://www.chweng.idv.tw/w3cguide/htmladvanced/declarations.php
http://www.smallni.com/dtd/
按照W3C的标准,我们需要在html的最开始申明文件的DTD类型。如果漏写DTD申明,Firefox仍然会按照标准模式来解析网页,但在IE中就会触发怪异模式。
WizardWu 2012-03-17
  • 打赏
  • 举报
回复
感謝大家回應。

該測試頁沒有 Frame 也沒有 Include。今天有同事幫忙測出,
METHOD="POST" 這一行改英文大寫,就變正常(可正常照代碼寫的可 POST 可 GET)

目前原因仍未查明。目前估計是像網友講的,JavaScript 或 config 設置文件的原因。

此帖預計兩日後結帖,有任何意見或相關超連結的網友,歡迎提供。
kiddkyd 2012-03-17
  • 打赏
  • 举报
回复
试试用jquery的ajax默认参数调用
yyl8781697 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 thedolphin 的回复:]

估计是哪里有设置,判断了method方式,但他匹配的是小写的post,像 if(methodValue=="post")然后改为get方式,所以你改成大写就没事儿了,当然没看代码,纯属猜测
[/Quote]
++我觉得有可能是这样的,你看看你的asp页面都调用了哪些,一步一步看下去有没有被设置的
色拉油 2012-03-17
  • 打赏
  • 举报
回复
估计是哪里有设置,判断了method方式,但他匹配的是小写的post,像 if(methodValue=="post")然后改为get方式,所以你改成大写就没事儿了,当然没看代码,纯属猜测
ltcszk 2012-03-16
  • 打赏
  • 举报
回复
firebug查一下是不是js改的
相当之稳重 2012-03-16
  • 打赏
  • 举报
回复
额。ASP也忘得差不多了。post和get两种方式 接收参数时用的方法不一样的吧。貌似request.form()是post的 querystring()是get的。。没听说过有什么强制成get的。
铜臂阿铁木 2012-03-16
  • 打赏
  • 举报
回复
这……即使强制,不去做也是不会这样的吧。
WizardWu 2012-03-16
  • 打赏
  • 举报
回复
感谢回复。
因这算 Web开发、html、Web Server共同的问题。

感谢id270说:
找到全局的asp文件 看看是否在哪设定了 传输方式

我会往这方向去找。也欢迎其他人提供意见(有提有用意见者,本帖皆会给分)
WizardWu 2012-03-16
  • 打赏
  • 举报
回复
感谢回复。
因这算 Web开发、html、Web Server共同的问题。

感谢id270说:
找到全局的asp文件 看看是否在哪设定了 传输方式

我会往这方向去找。也欢迎其他人提供意见(有提有用意见者,本帖皆会给分)
WX53492379 2012-03-16
  • 打赏
  • 举报
回复
可以不用在form上写传值方式,另外用Ajax传值设置传值方式为post。
冰镇宝贝321 2012-03-16
  • 打赏
  • 举报
回复
看看 是不是在哪设置了get了
快乐的小二兔 2012-03-16
  • 打赏
  • 举报
回复
找到全局的asp文件 看看是否在哪设定了 传输方式
CalvinR 2012-03-16
  • 打赏
  • 举报
回复
是不是发错板块了呀 建议到ASP版问问 这里是.NET版
XML越来越热,关于XML的基础教程网络上也随处可见。可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的:   第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会;   第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高。不要害怕和逃避,毕竟我们还年轻。   本文共分五大部分。分别是XML快速入门,XML的概念,XML的术语,XML的实现,XML的实例分析。最后附录介绍了XML的相关资源。作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方方面面,帮助你拨开XML的神秘面纱,快速步入XML的新领域。 • 第一章:XML快速入门 • 一. 什么是XML? • 二. XML是新概念吗? • 三. 使用XML有什么好处? • 四. XML很难学吗? • 五. XML和HTML的区别 • 六. XML的严格格式 • 七. 关于XML的更多 • 第二章:XML概念 • 一. 扩展性 • 二. 标识 • 三. 语言 • 四. 结构化 • 五. Meta数据 • 六. 显示 • 七. DOM • 第三章:XML的术语 • 导言 • 一.XML文档的有关术语 • 二.DTD的有关术语 • 第四章:XML的语法 • 一.XML语法规则 • 二.元素的语法 • 三.注释的语法 • 四.CDATA的语法 • 五.Namespaces的语法 • 六.entity的语法 • 七.DTD的语法 • 第五章:XML实例解释 • 一.定义新标识 • 二.建立XML文档 • 三.建立相应的HTML文件 • 第六章:XML相关资源 五. XML和HTML的区别 XML和HTML都来自于SGML,它们都含有标记,有着相似的语法,HTML和XML的最大区别在于:HTML是一个定型的标记语言,它用固有的标记来描述,显示网页内容。比如表示首行标题,有固定的尺寸。相对的,XML则没有固定的标记,XML不能描述网页具体的外观,内容,它只是描述内容的数据形式和结构。 这是一个质的区别:网页将数据和显示混在一起,而XML则将数据和显示分开来。 我们看上面的例子,在myfile.htm中,我们只关心页面的显示方式,我们可以设计不同的界面,用不同的方式来排版页面,但数据是储存在myfile.xml中,不需要任何改变。 (如果你是程序员,你会惊讶的发现,这与模块化面向对象编程的思想极其相似!其实网页何尝不是一种程序呢?) 正是这种区别使得XML在网络应用和信息共享上方便,高效,可扩展。所以我们相信,XML做为一种先进的数据处理方法,将使网络跨越到一个新的境界。 六. XML的严格格式 吸取HTML松散格式带来的经验教训,XML一开始就坚持实行"良好的格式"。 我们先看HTML的一些语句,这些语句在HTML中随处可见: 1. sample 2.sample 3.sample 4.samplar 在XML文档中,上述几种语句的语法都是错误的。因为: 1.所有的标记都必须要有一个相应的结束标记; 2.所有的XML标记都必须合理嵌套; 3.所有XML标记都区分大小写; 4.所有标记的属性必须用""括起来; 所以上列语句在XML中正确的写法是 1. sample 2.sample 3.sample 4.samplar   另外,XML标记必须遵循下面的命名规则: 1.名字中可以包含字母、数字以及其它字母; 2.名字不能以数字或"_" (下划线) 开头; 3.名字不能以字母 xml (或 XML 或 Xml ..) 开头; 4.名字中不能包含空格。 在XML文档中任何的差错,都会得到同一个结果:网页不能被显示。各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: XML轻松学习手册 ajie

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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