Posted on 2006-11-12 22:58
wxb_nudt 閱讀(1832)
評論(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
只影響表單對象數據的傳輸!
記之!