입력 텍스트 필드, 추가 버튼 및 제출 버튼으로 구성된 웹 양식이 있다고 가정 해 보겠습니다. 사용자는 입력을 입력하고 추가를 클릭하여 div에 텍스트를 추가 할 수 있습니다. 그러면 동적으로 (javascript를 사용하여) div를 입력 한대로 div를 추가합니다. 또한 추가하는 동안 자바 스크립트 객체에 텍스트를 저장합니다. 하나 이상의 항목을 추가 한 다음 사용자는 제출을 클릭하여 javascript 객체의 데이터를 저장할 서버로 보냅니다. 데이터는 JSON 문자열로 직렬화되어 서버로 전송됩니다.JSON에서 복잡한 자바 스크립트 객체 다시 채우기
내가 겪고있는 문제는 항목을 추가하는 동안 새로 고침이 적용되는 경우입니다. 현재 추가 된 항목이 페이지뿐만 아니라 javascript 객체에도 표시되도록하고 싶습니다.
내가 지금까지 가지고있는 것은 각 Add 후에 AJAX를 사용하여 현재 목록을 서버에 보내고 세션 데이터로 저장하는 것입니다. 내 세션에서 클라이언트 측 JavaScript 객체로 데이터를 가져 오는 가장 좋은 방법은 무엇입니까?
내가 생각할 수있는 가장 좋은 점은 JSON 문자열을 페이지에 다시 포함시킨 다음 클라이언트 측 JavaScript를 사용하여 javascript 객체를 다시 채우는 것입니다. 그게 효과가 있지만, 데이터의 양이 매우 커지면 클라이언트 측 자바 스크립트 처리 속도가 느려질 것으로 예상됩니다.
(내 실제 상황에서 내 javascript 객체는 이보다 훨씬 복잡합니다. 상속을 구현 한 곳에서 "get"및 "set"메소드 등을 동적으로 구현하는 함수가 있습니다. 즉, eval (JSON)을 사용하여 객체를 덮어 쓸 수 없다는 것입니다.
편집 :이 기능이 작동하는 곳에서는 새로 고침 만하는 것이 아니라는 점에 유의하십시오. 이전에 제출 된 데이터 세트를 편집 할 수 있으며, 이때 서버 측 데이터 인 클라이언트 측 javascript 객체를 다시 채워야합니다.
글쎄, 새로 고침 버튼이 아닙니다. 제출 된 모든 내용은 나중에 편집 할 수 있으며, 서버 데이터에서 javascript 객체를 다시 채울 때 비슷한 해결책이 필요합니다. –
확인. 그러나 사용자가 제출을 명중하면 데이터가 아마도 일부 데이터베이스에 저장되고 다음에 페이지가 편집을 위해 표시 될 때 데이터 베 이스에서 가져 와서 페이지를 렌더링하겠습니까? 그래서 예, 지루한 작업이 많이 필요할 수 있습니다.페이지 (아마도 JSON)를 사용하여 데이터를 전달하고 동일한 JavaScript 함수를 사용하여 동적으로 추가 된 div를 다시 작성해야합니다. 나는 이미 기존의 데이터를 HTML (더 나은 사용자 경험)로 직접 고려할 것입니다. 원래의 질문은 데이터를 보존하지 않는 방법에 대한 것입니다. –
페이지를 아무 문제없이 다시 채울 수 있습니다. 그것은 클라이언트 측 JavaScript 객체를 다시 채우고 있습니다. 코드를 작성하는 것이 고통스럽지 않기 때문에가 아니라, 내가 원하는대로 페이지로드시 서버 측에서 채우기 만하면됩니다. –