我試圖通過查看我的瀏覽器(Chrome)的源代碼來了解this login page的工作方式。網頁源代碼殘缺不全:隱藏代碼?
源代碼鏈接到一些CSS,圖片和通用JavaScript庫。除了最初的一個小jQuery(用於改變語言)之外,我不明白爲什麼頁面不僅僅是HTML元素的死亡。
例如,如果我用空的用戶名和密碼單擊「登錄」,則顯示消息「您輸入的用戶名或密碼不正確。」出現。但是我無法看到這種行爲被定義的來源的任何地方。
我錯過了什麼?
我試圖通過查看我的瀏覽器(Chrome)的源代碼來了解this login page的工作方式。網頁源代碼殘缺不全:隱藏代碼?
源代碼鏈接到一些CSS,圖片和通用JavaScript庫。除了最初的一個小jQuery(用於改變語言)之外,我不明白爲什麼頁面不僅僅是HTML元素的死亡。
例如,如果我用空的用戶名和密碼單擊「登錄」,則顯示消息「您輸入的用戶名或密碼不正確。」出現。但是我無法看到這種行爲被定義的來源的任何地方。
我錯過了什麼?
您正在觀察的活動是<form>
元素的核心功能之一。當提交form
時,用戶的瀏覽器將被定向到表單中由action
屬性定義的頁面。除了引導用戶訪問此頁面,表單中包含的所有input
都作爲變量傳遞給Web服務器。
提交表單的一種方式是在表單中包含一個input
類型爲submit
的元素,這是網頁設計人員在此處完成的操作。當調用submit
元素時(例如通過點擊),表單被提交。
當您單擊登錄按鈕時,表單被提交給服務器,該服務器返回一個包含該消息的新HTML。其邏輯是在服務器端代碼中定義的,您無法從外部看到。 '查看源'只會顯示服務器輸出的內容。
您看到的消息不會被jQuery/Javascript顯示。
請注意,當您單擊「登錄」按鈕時,頁面會提交您的請求。 這意味着它服務器端代碼開始運行,你不能看到的代碼。
此服務器端代碼處理您的輸入並生成您看到的錯誤消息。
當我檢查「登錄」按鈕時,我看不到任何指定的服務器請求。這是元素:'' – Randomblue
lol您剛剛粘貼了指定的服務器請求。 'type =「submit」'表示將表單提交給服務器:) – Danpe
啊!我期待着某種類型的URL ......不需要URL? – Randomblue
我認爲該頁面只是令人耳目一新。 您可以通過在Chrome控制檯中打開網絡選項卡並在提交空白表單時查看它來確認此情況。
感謝http資產緩存,這個好像好像頁面沒有刷新一樣 - 但是chrome的網絡標籤確認了它的確如此。
我有點困惑你的問題。您是否注意到當您單擊登錄時,您正在向服務器發出請求,並且正在加載新頁面?錯誤消息由服務器生成。 – cheeken
好的,但指定的服務器請求在哪裏? – Randomblue