jPOST를 통해 HTML 데이터 전송 쿼리
저는 div의 HTML 내용으로 PHP 파일에 POST를 하기 위해 jQuery를 사용하고 있습니다.HTML 컨텐츠에는 테이블, 입력, 더 작은 div가 포함되어 있으며, 메인 DIV의 컨텐츠를 파악하여 데이터베이스로 보내고 싶습니다.제가 생각할 수 있는 유일한 방법은 POST 방법인데, 그것과 함께 일반 HTML을 보낼 수 있을지 모르겠습니다.div에서 PHP 파일로 HTML 콘텐츠를 전송하여 MySQL에 삽입할 수 있는 다른 옵션이 있습니까?
감사해요.
편집: 이제 jQuery의 POST로 전체 HTML 데이터를 전송할 수 있습니다.그러나 그 DIV의 HTML 문자는 특수 문자로 변환됩니다.예: ">"는 ">"가 되고, 이 경우 Ajax POST를 다음과 같이 수행하기 때문에 첫 번째 특수 문자가 나타나는 위치로 POST 데이터가 제한됩니다.
var data = 'id='+ currid +'&html='+ div_html;
$.ajax({
type: "POST",
url: "file.php",
data: data,
.......................
.......................
div_html에 다른 "&" 문자가 포함되어 있기 때문에 이 코드를 사용하는 것은 문제가 되지 않으므로 전송할 다른 POST 매개 변수로 간주됩니다.
해결 방법이 있습니까?
다시한번 감사합니다.
일단 당신이 .html()과 같은 것으로 내용을 "뽑았다"면 그것은 문자열일 뿐입니다.테스트할 수 있습니다.
<html>
<head>
<title>runthis</title>
<script type="text/javascript" language="javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready( function() {
var x = $("#foo").html();
alert( typeof(x) );
});
</script>
</head>
<body>
<div id="foo"><table><tr><td>x</td></tr></table><span>xyz</span></div>
</body>
</html>
경고 텍스트는 문자열입니다.파서에게 전달하지 않는 한 마법은 없습니다. 다른 끈과 같은 끈입니다.
.post()를 사용하여 이 문자열을 서버로 다시 보내는 것을 방해하는 것은 없습니다.
edit: 문자열을 매개 변수 데이터로 .post()에 전달하지 않고 다음과 같은 개체로 전달합니다.
var data = {
id: currid,
html: div_html
};
$.post("http://...", data, ...);
jquery는 매개 변수의 인코딩을 처리합니다.
어떤 이유로든 문자열을 유지하려면 이스케이프()와 같은 것으로 값을 인코딩해야 합니다.
var data = 'id='+ escape(currid) +'&html='+ escape(div_html);
저는 당신이 왜 게시물을 통해 html 콘텐츠를 보낼 수 없는지 모르겠습니다.
문제가 발생하면 인코딩/디코딩을 사용할 수 있지만 그렇게 할 것 같지는 않습니다.
서버에 임의의 양의 데이터를 전송하려는 경우 POST가 신뢰할 수 있는 유일한 방법입니다.GET도 가능하지만 클라이언트와 서버는 제한된 URL 길이(약 2048자)만 허용합니다.
언급URL : https://stackoverflow.com/questions/1078909/jquery-send-html-data-through-post
'programing' 카테고리의 다른 글
Python에서 참조로 정수 전달 (0) | 2023.07.27 |
---|---|
랜덤 해시/문자열을 만드는 가장 좋은 방법은 무엇입니까? (0) | 2023.07.27 |
Android studio getSlotFromBufferLocked: 알 수 없는 버퍼 오류 (0) | 2023.07.27 |
봄을 위한 log4j.properties 구성 방법JUNIT4 클래스 러너? (0) | 2023.07.27 |
Mariadb 버전 업그레이드 후 액세스가 거부됨 (0) | 2023.07.27 |