2010-05-23 3 views
0

html 입력 요소에 사용자가 입력 한 사용자 이름과 비밀번호 값을 서버에 보내서 사용자가 로그인 버튼을 클릭했을 때 사용자 이름과 비밀번호가 유효한지 확인합니다. $.ajax(options) jquery의 메소드.jquery ajax를 사용하여 사용자 이름과 비밀번호를 전송합니다.

하지만 서버에 사용자 이름과 암호를 보내는 방법을 모르겠습니다. 서버에서 해당 값을 가져 오려면 어떤 방법으로 $.ajax(options) 메서드에 써야합니까?

답변

3

처럼 당신은 할 수 있습니다 : 존재하는 경우

서버 파일에서
$.ajax({ 
    url:'server-file-url.php', 
    type:POST, 
    data:$('form_id').serialize(), // this will get form fields 
    success:function(res){ 
    alert(res); 
    }; 
}); 

, 당신은 당신의 DB에 사용자의 기록을 확인, 당신은 단순히 실패와 사용 성공을위한 10 같은 몇 가지 응답을 다시 보내 그 $.ajaxsuccess 인수의 적절한 행동을 취하는 기능. 사용자 이름과 암호를 가정

+0

제안 된 대안이 잘못되어 (URL 인코딩이 누락 되었기 때문에) 의견을 수정하십시오. – Tomalak

2

각각의 식별자와 입력 텍스트 필드에 포함되어 있습니다

마지막으로
var username = $('#username').val(); 
var password = $('#password').val(); 
$.ajax({ 
    type: 'POST', 
    url: '/serverscript.cgi', 
    data: { username: username, password: password }, 
    success: function(result) { 

    } 
}); 

것은 당신이 피하기 위해 HTTPS를 사용합니다

<input type="text" name="username" id="username" value="" /> 
<input type="password" name="password" id="password" value="" /> 

는이처럼 그들을 보낼 수 있습니다 이 정보를 일반 텍스트로 일반인에게 보냅니다.

+0

HTTPS가 옵션이 아닌 경우에는 어떻게해야합니까? 다른 안전한 방법이 있습니까? –

+0

아니요. –

+0

보내기 전에 암호를 암호화하십시오. Javascript에서 MD5를 사용하고 암호화 된 문자열을 비교하기 위해 서버 측에서 비슷한 작업을 수행하십시오. 단순히 암호를 비교하는 것과는 대조적입니다. – Gerard

관련 문제