abstract:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>用戶登錄驗(yàn)證</title> </head> <body> <div style="width: 300px; height: 300px; margin: 50px;border: 1px solid #ccc;background: #ccc;border-radius: 5px; "> <h2 style="text-align: center;">用戶登錄</h2> <form action="" style="text-align: center;"> <p>郵箱:<input type="email" name="email" value=""></p> <p>密碼:<input type="password" name="password"></p> <p><button>登錄</button></p> </form> <script> let btn = document.getElementsByTagName('button')[0]; btn.onclick = function(){ //1.創(chuàng)建xhr對(duì)象 let xhr = new XMLHttpRequest(); //2.監(jiān)聽(tīng)響應(yīng)狀態(tài) xhr.onreadystatechange = function(){ if (xhr.readyState===4){ //狀態(tài)就緒 //判斷是否獲取到響應(yīng)的數(shù)據(jù) if(xhr.status===200){ //在頁(yè)面中創(chuàng)建一個(gè)新元素用來(lái)顯示響應(yīng)的數(shù)據(jù) let p = document.createElement('p'); p.style.color = 'red'; p.innerHTML = xhr.responseText; //xhr.responseText是從服務(wù)器中取回的數(shù)據(jù); //將新元素插入到當(dāng)前頁(yè)面中 document.body.appendChild(p); } else { alert('響應(yīng)失敗'.xht.status); } } else { } } //3.設(shè)置請(qǐng)求參數(shù) xhr.open('post','inc/check.php',true); //4.設(shè)置頭信息,將內(nèi)容類型設(shè)置為表單提交方式 xhr.setRequestHeader('content-type','application/x-www-form-urlencoded'); //5.發(fā)送請(qǐng)求 let data = { email: document.getElementsByName('email')[0].value, password: document.getElementsByName('password')[0].value, }; let data_json = JSON.stringify(data); //將JS對(duì)象轉(zhuǎn)為JSON字符串 xhr.send(data_json); btn.disabled = true; //禁用按鈕 } </script> </div> </body> </html>
Correcting teacher:天蓬老師Correction time:2019-05-27 09:32:30
Teacher's summary:代碼邏輯正確, 每一步很清楚, 不錯(cuò).......