Posted on 2006-11-12 22:58 
wxb_nudt 阅读(1837) 
评论(3)  编辑  收藏  
			 
			
		 
		
		
				最近帮朋友做一个简单网站,同时学习了一下
				ASP
				技术。在使用
				Macromedia
				和
				IIS5.1
				时候发现了一个很容易让人迷惑的问题。
		
		
				配置如下:
		
		
				Macromedia 2004 MX
		
		
				IIS 5.1
		
		
				Windows XP SP2
		
		
				在
				Macromedia
				里面建立了一个站点可以直接将编辑的
				ASP
				或者
				HTML
				文件上传到本地的
				IIS
				目录下面(默认为
				C:\Inetpub\wwwroot
				),这样就可以直接点击一个按钮实现
				ASP
				文件在
				IIS
				下面的效果御览。
				Macromedia 2004 MX
				在设置站点是默认的
				http
				前缀是
				http:://localhost
				。因此我的
				ASP
				文件出现在
				IE
				里面的路径是
				
						http://localhost/wxbsite/getName.asp
				
				。一切看起来都是那么美好。
		
		
				但是在运行下面一个简单例子是问题出现了:
		
		
				文件名:
				getName.asp
		
		
				说明:从文本框读入一个字符串,在点击
				submit
				按钮时将这个字符串显示在按钮下方
		
		
				源代码:
		
		
				<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
		
		
				<html>
		
		
				<head>
		
		
				<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
		
		
				<title>getName</title>
		
		
				</head>
		
		
				
						 
				
		
		
				<body>
		
		
				<%
		
		
				name = request.Form("txtName")
		
		
				%>
		
		
				<form method="POST" action="getName.asp">
		
		
				<input type="text" name="txtName" size="20" value="<%=name%>"><p></p>
		
		
				<input type="submit" value="submit">
		
		
				</form>
		
		
				<%
		
		
				response.Write name
		
		
				%>
		
		
				</body>
		
		
				</html>
		
		
				
						 
				
		
		
				问题如下:无论如何试验,均发现
				request.Form("txtName")
				语句不能得到有效值,而只是得到
				null
				。
		
		
				修改
				IIS
				配置,无效;
		
		
				修改
				ASP
				文件,将其拆分为
				html
				和
				asp
				,无效;
		
		
				在
				google
				上面折腾好久,也发现了有人出现了类似的问题,但是没有答案。
		
		
				最后发现,都是
				localhost
				惹的祸。将
				http
				头更换为
				
						http://127.0.0.1
				
				,则一切都正常了。郁闷啊,花费了一个小时的时间,得出了这个隐藏的
				localhost
				与
				127.0.0.1
				的差别。奇怪的是,使用
				response
				对象输出语言却是正常的。看来
				localhost
				只影响表单对象数据的传输!
		
		
				记之!