看板 Web_Design 關於我們 聯絡資訊
※ 引述《kakaloto (卡卡洛特)》之銘言: : 小弟最近在研究JavaScript 跟asp : 想請問一下 若把form (像這樣 : 學校 :打勾 : 歲數:自己填數字 : ) : 用post丟到asp做處理 : 然後在丟到javascript 裡面跑function 做輸出 : 有沒有辦法把form裡面的某一數字 (歲數中的數字) : 拿出來跟一定值比大小? : 懇請大家幫忙了 謝謝 我決定先講一些跟你想解決的問題沒有直接影響的東西 前端和後端的程式以及變數是不一樣的,所以才會發生xxx未定義的問題 先把你要做的事再重新用文字描述一遍 ======= 使用者在畫面上post丟到asp,asp再把東西丟到js運算,算完再把結果排成表格丟出來 ======= 實際上的運作順序應該要更多一點 1.使用者 在瀏覽器上 輸入asp的網址 2.伺服器 收到網址,轉給asp程式 3.asp程式第一次執行(這時候還沒有post的內容) 4.asp程式運算完,把運算結果編成"html原始碼",傳給使用者的瀏覽器 這些內容會把xxx.inc已經打開並且把完整內容放進去,但js還沒開始運作 你可以在網頁跑完之後,空白處按右鍵>檢視原始碼 看到內容 5.瀏覽器收到html原始碼,跟伺服器"切斷連線",開始把結果逐行編成一般人看的網頁 這時候網頁畫面已經可以陸陸續續看得到東西了,但大概不完整,越上面的越早出來 6.瀏覽器讀到html後半段的http://..../xxx.css或js或img等等, 於是"再"去跟伺服器要求這些檔案,下載回來 7.瀏覽器下載完js開始運算 8.js運算完畢,網頁停止運算 9.使用者開始在網頁上打字 打勾 拉選單 按按鈕 這時候js都可能被觸發去運算 10.使用者按了表單"送出"的按鈕 (以下接續第1條,按了按扭送出伺服器等同於輸入一串網址,讓我再照貼一次幫助回憶) 11.輸入asp的網址 12.伺服器 收到網址,轉給asp程式 13.asp程式第二次執行(這時候有post的內容) 14.asp程式運算完,依照post內容運算後編成"html原始碼",傳給使用者的瀏覽器 15.瀏覽器收到html原始碼(包含post結果),跟伺服器"切斷連線",編成網頁 16.瀏覽器讀到html後半段的http://..../xxx.css或js或img等等, 於是"再"去跟伺服器要求這些檔案,下載回來 17.瀏覽器下載完js開始運算 18.js運算完畢,網頁停止運算 19.依照js運算完的表格顯示出來 有注意到一件事嗎? 伺服器丟出html原始碼,瀏覽器下載完以後,跟伺服器就切斷連線了 所以 js "不可能" 使用伺服器上後端程式的變數或function 那要怎麼辦呢? 你可以把後端用的變數轉成html的純文字吐出來 例如 <input type="text" value=""> //value裡應該要吃後端吐出來的變數 改寫成 <input type"text" value='<%response.write("50")%>'> 這樣做的時候,瀏覽器實際收到的html原始碼會變成 <input type="text" value="50"> 才去使用js運算 話說一直沒有一個可以正常運作的asp網頁讓大家協助你偵錯,很難發現問題在哪 如果你是用自己電腦,好歹開個ngrok把網址貼上來讓大家看看樣子也好, 即使是期間限定也比沒有好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.179.52 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1515196436.A.A5E.html
tregfd654321: 推 01/06 10:29
kakaloto: 感謝分享 01/06 18:30
LPH66: 每過一段時間這個推圖就會拿出來一次 XD 01/06 19:11
LPH66: ------------------------------------- 01/06 19:11
LPH66: 輸出(結構為HTML或其他Browser可判讀的文件) 01/06 19:11
LPH66: __________ __________ 01/06 19:11
LPH66: ∣Server: ∣→∣Browser: ∣ 01/06 19:11
LPH66: ∣執行表單目標的PHP ∣ ∣解讀HTML,執行含在 ∣ 01/06 19:11
LPH66: ∣或執行含有PHP碼的 ∣ ∣HTML裡的Javascript∣ 01/06 19:11
LPH66: ∣目標文件,輸出結果 ∣ ∣形成你看到的網頁 ∣ 01/06 19:11
LPH66: ∣_________∣←∣_________∣ 01/06 19:11
LPH66: 以POST或GET的方法,送出給表單目標的文件 01/06 19:11
LPH66: ------------------------------------- 01/06 19:11
LPH66: 雖然推圖裡是 PHP 不過 ASP 的概念也是一樣的 01/06 19:12
nottt: 雖然我已經懂的人可以理解,不過不知道新手能不能看懂 01/06 20:22
vi000246: 直接學asp.net吧 新手用asp會把前後端搞混 01/06 23:58
ssccg: ASP.NET也會搞混啊,Page生命週期、IsPostBack之類的問題 01/07 15:27
ssccg: ASP.NET MVC也會搞混啊,只是view template裡面程式碼少機 01/07 15:30
ssccg: 率比較低,不管學哪個,學web還是要先弄懂http機制才穩 01/07 15:30
bug9: 意外點進來收獲很多,非常感謝分享! 01/18 08:11