Javascript PHP未使用XMLHttpRequest从HTML接收正确的数据
下面的函数将发送数据到php脚本。运行php脚本时,找不到索引$POST[sessionID]Javascript PHP未使用XMLHttpRequest从HTML接收正确的数据,javascript,php,xmlhttprequest,Javascript,Php,Xmlhttprequest,下面的函数将发送数据到php脚本。运行php脚本时,找不到索引$POST[sessionID] function logout(){ var logoutRequest = new XMLHttpRequest(); logoutRequest.open("POST", "server/logout.php", false); logoutRequest.setRequestHeader('Conent-type', 'application/x-www-form-urlencode
function logout(){
var logoutRequest = new XMLHttpRequest();
logoutRequest.open("POST", "server/logout.php", false);
logoutRequest.setRequestHeader('Conent-type', 'application/x-www-form-urlencoded');
logoutRequest.onreadystatechange = function () {
if(logoutRequest.readyState == 4 && logoutRequest.status == 200) {
sessionID = logoutRequest.responseText;
console.log(sessionID);
}
}
logoutRequest.send("sessionID=" + login_form.elements["sessionID"].value);
}
<form name="login_form" method="post" id="login-form" onsubmit="submitForm(); return false;">
<input type="text" name="username" id="username" placeholder="Username" required></input>
<input type="password" name="password" id="password" placeholder="Password" required></input>
<input type="submit" value="Log in" class="btn" id="submit-button"></input>
<input id="sessionID" type="hidden" value="16"></input>
</form>
是否正在发送post数据?您可以在开发者工具F12中看到post请求。这将向您显示请求、发布的数据、响应……等等。ya在请求数据下显示:sessionID=16您需要在加载HTML后调用logout,或者在HTML事件属性onclick中调用logout。submitForm也需要在其内部返回false。当它被创建时,它在表单的外部被调用:LogoutNo,如果您分配给HTML属性,则不会返回内容。只需将调用的函数放在那里:onclick='logout'。我甚至不会将JavaScript放入HTML,除非我无法避免它。单独的JavaScript类似于:document.getElementById'logout'.onclick=logout;或者var logout=document.getElementById'logout';logout.onclick=functioneventobjectisassedhere{funcWithArgseventObjectIsPassed Here/*如果需要*/,ar1,arg2;};