javascript
  • ajax
  • forms
  • xmlhttprequest
  • passwords
  • 2010-02-10 3 views 0 likes 
    0

    저는 javascript/ajax에 익숙하지 않습니다. 지금 조금 갇혀 있습니다. 할당은 javascript/ajax 만 사용하는 것입니다.xmlhttprequest : txt-file의 "password"

    나는 로그인 양식을 작성해야하고 올바른 암호를 입력 할 때 "비밀 메시지"가 표시됩니다. 현재이 메시지는 경고 상자입니다.

    이 양식 입력의 유효성을 확인하는 스크립트에 있습니다

    var riktigPassord = 'password';  
    var passord = window.document.passordSkjema.passord.value; 
        if (passord == riktigPassord) { 
         alert("Dette er en hemmelig beskjed"); 
         window.document.passordSkjema.passord.focus(); 
         return true; 
        } 
        else { 
         alert("Innlogging mislyktes. Passord er feil!"); 
         window.document.passordSkjema.passord.focus(); 
         return false; 
        } 
        }//slutt på funksjonen her 
    

    을 그리고 이것은 폼의 코드입니다

    <form name="passordSkjema" action="#" method="post" 
    onSubmit="return validerPassord();"> 
    Passord: <input type="text" name="passord"><br> 
    <input type="submit" name="knapp"> 
    </form> 
    

    나는 txt-에서 암호를 얻을하기로되어있어 파일. (여전히 자바 스크립트 만 사용) 제 경우에는 txt-filename이 "password.txt"입니다.

    내 질문은 ... ...의 xD

    // New XMLHttpRequest-object 
    function newXHRobjekt() { 
    try { 
        XHRobjekt = new XMLHttpRequest(); // Firefox, Opera, ... 
    } catch(err1) { 
        try { 
        XHRobjekt = new ActiveXObject("Microsoft.XMLHTTP"); // Noen IE 
        } catch(err2) { 
        try { 
        XHRobjekt = new ActiveXObject("Msxml2.XMLHTTP"); // Noen IE 
        } catch(err3) { 
        XHRobjekt = false; 
        } 
        } 
    } 
    return XHRobjekt; 
    } 
    

    그래서를 내가 전에이 작업을 해본 적이 없다,하지만 난이 XHR 객체를 만드는 방법을 알고 생각합니다. XHR 객체를 사용하여 위의 함수를 사용하여 password.txt에 대한 암호 입력을 확인합니다. 파일에는 암호 만 들어 있습니다 (예 : "12345"). 또한 다른 txt 파일에서 "비밀 메시지"를받는 방법을 알고 싶습니다.

    나는 이것이 전혀 안전하지 않다는 것을 알고 있지만 그것은 수업에서 javascript/Ajax를 이해하는 부분이다.

    감사합니다.

    답변

    0

    본문의 onload 이벤트에 다음 코드를 추가하십시오. passwordLoaded 및 secretMessageLoaded 모두 true로 설정되어있는 경우

    var passwordLoaded = false; 
    var password = ""; 
    var secretMessageLoaded = false; 
    var secretMessage = ""; 
    
    var xhr = newXHRobjekt(); 
    xhr.open("GET", "password.txt"); 
    xhr.onreadystatechange = function() { 
        if (xhr.readyState == 4) { 
         password = xhr.responseText; 
         passwordLoaded = true; 
        } 
    } 
    xhr.send(null); 
    
    xhr = newXHRobjekt(); 
    xhr.open("GET", "secret_message.txt"); 
    xhr.onreadystatechange = function() { 
        if (xhr.readyState == 4) { 
         secretMessage = xhr.responseText; 
         secretMessageLoaded = true; 
        } 
    } 
    xhr.send(null); 
    

    당신은 변수 암호 및 secretMessage를 사용할 수 있습니다.

    0

    많은 자바 스크립트 API XHR 객체와 마찬가지로 비동기 인터페이스도 있습니다. 따라서 응답을 처리하기 위해 콜백 함수를 정의해야합니다.

    xmlhttp.open("POST", "http://example.com",true); 
    xmlhttp.onreadystatechange=function() { 
        if (xmlhttp.readyState==4) { 
        alert(xmlhttp.responseText) 
        } 
    } 
    xmlhttp.send('my request data'); 
    

    예를 들어 그물에서 검색하십시오. post, a bit old but seem to have good examples을 찾았습니다.

    관련 문제