2010-06-25 7 views
3

div의 모든 HTML (많은 다른 div, 양식 요소 등 포함)을 urlencode (어쩌면)로 가져 와서 서버에 아약스 게시를하고 싶습니다. 사이드 핸들러를 사용하여 사용자가보고있는 정확한 상태를 저장할 수 있습니다.div의 내용을 jQuery를 통해 보내십시오.

나는 데이터베이스에 저장 한 문자열을 가져 와서 나중에 ajax 호출에 응답하여 다시 보내고 싶습니다.

다음과 같이 사용해야합니까?

var contents = escape($('#myDiv').html()); 

그런 다음 서버 측 처리기에 대해 아약스 게시 작업을 수행합니까? 내가 Ajax 호출을 엉망으로 만드는 특수 문자를 다시 전달하지 않도록 도피 할 수 있을까요?

모든 포인터가 감사하겠습니다. 나는이 사용하고

+0

제대로 작동해야하는 것 같습니다. 왜 안돼. – Mark

답변

2

POST 매개 변수로 보낼 경우 데이터를 이스케이프 걱정할 필요가 없습니다. GET 인 경우 URI에 실제로 나타나므로 모든 항목이 이스케이프 처리되었는지 확인해야합니다. 이것은 당신이 정말로 할 필요있다

:

$.post('/my_handler', {'html': $('#myDiv').html()}. function(data){ 
    //do something with data  
}); 

그냥 문자열의 'HTML'포스트 매개 변수를 확인해야합니다 /my_handler에 응답 스크립트. 예를 들어 PHP를 사용하는 경우 $_POST['html']을 확인하면됩니다.

1

:.

함수 대해 HTMLEncode (값) { 반환을 $ ('< 사업부 />') 텍스트 (값) .html 중에서(); }

함수 htmlDecode (value) { return $ ('< div />') .html (value) .text(); }

var 내용 = htmlEncode ($ ('# myDiv') .html());

관련 문제