페이지를 새로 고치지 않고 로그인 할 수있는 양식의 로그를 만들고 있습니다. 로그인 DIV 표시 할 다시로드,두 번 클릭하는 자바 스크립트/AJAX
INDEX.php
<script language="javascript">
$(document).ready(function()
{
//log in- send data to php page which creates a session. Log in div is reloaded to display log out button.
$("#login_form").submit(function()
{
$.post("php/loginajax.php",{emai:$('#emai').val(),pass:$('#pass').val()} ,function(data)
{
if(data=='yes') {$('#login').load('inc/headerlogin.php');}
if(data =='no') {$("#loginerror").show();}
});
//return false;
});
//log out- destroy session and reload log in div to display log in form again.
$("#logout").click(function()
{
$.post("php/loginout.php");
$('#login').load('inc/headerlogin.php');
});
});
</script>
로그 아웃 버튼을 한 번 클릭를 미세 작동 파괴 세션 :
나는 다음과 같은 페이지가 있습니다.로그인 버튼이 첫 페이지에로드되어 있으면 작동합니다. 로그인 한 다음 로그 아웃 한 다음 다시 로그인 해보십시오. 동일한 페이지에서 새로 고치지 않고 모두 로그인 버튼을 두 번 클릭해야합니다.
또한 if 문과 내부에 몇 가지 경고가 표시되어 있지만 나머지 코드가 작동하지 않는 경우에도 표시되지 않습니다 ... 아이디어가 있습니까?
첫 번째 클릭시 POST가 성공하지 못해서 성공 함수가 호출되지 않습니다. 나는. 서버에 문제가 있습니다. –
그런 식으로는 생각하지 못했지만 새 페이지에서 클릭하면 처음으로 작동합니다. 로그 아웃 한 후 동일한 페이지에서 새로 고치지 않고 두 번 클릭해야 로그인 할 수 있습니다. – penpen
'inc/headerlogin.php' 란 무엇이며 왜 로그 아웃 후에 다시'load()'해야합니까? 이 파일에 JS가 포함되어 있으면'$ (document) .ready()'가 다시 실행되어 두 번째'submit' 핸들러를 등록합니다. –