2014-04-07 2 views
0

그래, 선생님이 시험을 편집/디자인하고 학생들이 시험을 치를 수 있도록하는 프로그램을 만들고자합니다. 질문의 유형을 선택하고 카테고리 (역사, 영어 등)를 선택하고 질문 텍스트를받을 텍스트 상자가있는 드롭 다운 메뉴를 만들었습니다. 내 질문은 비록이 텍스트와 선택을 영구히 저장하는 방법입니다. 내 생각은 js 파일 변수의 내용을 변경하는 것이지만 자바 스크립트는 클라이언트 측입니다. 이렇게 빨리 필요한 옵션은 무엇입니까? 그냥 자바 스크립트/HTML, 아니 jquery 또는 jfiddle 일반하십시오. 간단한 단어로 설명해주십시오 :). 나는 프로가 아니다. PHP는 괜찮습니다. 그러나 나는 그것을 모르기 때문에 명확해야합니다. 당신이 도울 수 있다면, 나는 다른 사람들이 (적어도 우리의 마음에) 간단한 해결책을 찾지 못했기 때문에 환상적 일 것입니다. html 파일에 데이터를 영구적으로 동적으로 저장하는 방법은 무엇입니까?


// Store 
localStorage.setItem("lastname", "Smith"); 
// Retrieve 
document.getElementById("result").innerHTML=localStorage.getItem("lastname"); 
그렇지 않으면 AJAX 내용 :

답변

1

사용자는 (매우 가능성) 최신 브라우저를 사용하는 경우, 당신은 로컬 스토리지를 사용할 수 있습니다. 비동기 서버에서 데이터를 저장/읽을 수 있습니다. 즉, 페이지를 변경할 필요가 없으며 모든 선택 변경시 데이터를 저장할 수 있습니다.


프레임 워크를 사용하면 쉽게 사용할 수 있습니다. 이 프레임 워크가없는 아약스 요청이기 때문에 :

var xhr=new XMLHttpRequest(); // Initialize the Ajax request 
xhr.open('get', 'send-ajax-data.php'); 
xhr.onreadystatechange=function(){  // Track the state changes of the request 
    if(xhr.readyState === 4){ // Ready state 4 means the request is done 
     if(xhr.status === 200){ // 200 is a successful return 

     } 
    } 
} 
xhr.send(null); // Send the request to send-ajax-data.php 

는 그리고 이것은 프레임 워크 (JQuery와)과 아약스 요청입니다 :

$.get("send-ajax-data.php", function(data) { 

}); 
+0

로컬 저장소는 단일 사용자의 데이터를 저장하는 데는 좋은 옵션이지만 개별 프로젝트는 여러 위치에서 데이터에 액세스 할 수있는 여러 사람이 필요합니다. 좋은 생각이지만, 로컬 스토리지는 재미 있습니다. – CaffeineAddiction

+0

바닐라/jquery의 길이를 비교하는 것은 다소 불공평합니다. 한 가지에 많은 의견을 추가하고 다른 것을 추가하지 않으면 다른 사람이하지 못하게합니다. –

+0

@Info Bürk :이 부분의 주된 의도는 프레임 워크가없는 아약스 요청은 매우 복잡하다는 것을 명심하는 것이 었습니다. 내 예제는 브라우저 호환성을 처리하지 않습니다. 질문은 JS를 사용한 간단한 해결책이었다. 그리고 나는 가능한 두 가지 해결책을 제시하고 그것을 프레임 워크로 더 쉽게 언급했다. 아니면 프레임 워크가없는 AJAX 요청이 더 쉽다는 것을 의미합니까? 나는 당신의 필요에 맞는 어떤 방법으로 그것을 바 꾸었습니다. –

0

당신은 위의 대답을 사용하고 아약스를 사용하여 데이터를 전송할 수 있습니다 요구.

또는 save your data in xml file in client side

.

var newXml = "text to be saved"; // your data is here (form the xml). 

    //Sets the data in a hyperlink for download. 
    $('#DownloadLink') 
    .attr('href', 'data:text/xml;base64,' + btoa(newXml)) 
    .attr('download', 'autounattended.xml'); 

또는 json에서도 데이터를 저장할 수 있습니다.

//creates javascript object 
var sampledata = {'PkId' : 123, 'Name':'sudhansu' }; 

    //Converts the object to json string. 
    var dataTobeSaved = JSON.stringify(sampledata); 

    then you can save this data to a file using the above method. 
0

아무리 잘게 자르더라도이 작업을하려면 배워야 할 몇 가지 사항이 있습니다. 따라서 이해할 수 없거나 구현할 수없는 코드를 제공하는 대신 몇 가지 참조와 간단한 설명이 도움이 될 것이라고 생각합니다.

먼저 CGI (common gateway interface)을 구현해야합니다. CGI는 Perl, PHP, Python, JavaScript (with nodejs)을 통해 구현할 수 있습니다. 사용할 수있는 다른 언어가 있지만 가장 많이 사용되는 언어입니다.

서버에서 CGI 스크립트를 설정 한 후 클라이언트 측 응용 프로그램은 AJAX request 또는 HTML Form submit을 통해 서버에 데이터를 제출할 수 있습니다. 대부분의 사람들은 AJAX를 사용하지만 두 옵션 모두 작동합니다.

데이터가 클라이언트에서 전송되고 CGI 스크립트에 의해 처리되면 데이터와 인터페이스 할 수 있어야합니다. CRUD은 데이터와의 인터페이스를위한 머리 글자로, Create, Read, Update, Delete을 나타냅니다. 원시 텍스트 파일에 데이터를 저장하여이를 구현할 수도 있지만 일반적으로 나쁜 습관으로 간주됩니다.따라서 SQL 데이터베이스의 일부 유형 인 MySQL, PostgreSQL, SQLite을 비교적 쉽게 구현할 수 있습니다 (SQLite가 세 가지 중 가장 쉬운 것임).

관련 문제