我使用jQuery做一个POST到一个div的HTML内容的PHP文件。 HTML内容包含表,输入较小的div,我想抓住主要DIV的内容,并将其发送到数据库。 我能想到的唯一的选择是POST方法,但我不知道是否我可以用它发送纯HTML。 是否有从一个div发送HTML内容的PHP文件将被插入到MySQL的任何其他的选择吗?
谢谢。
编辑:我现在能够与jQuery的POST发送完整的HTML数据。 然而,从DIV我的HTML字符被转换成特殊字符。 例如: “>” 将变成 “>” 中 而当这种情况发生,我的POST数据仅限于其中第一个特殊字符出现,因为我做我的AJAX 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(字符串),但一个对象,像
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个字符)。
jQuery.post(post_url,{ content: "John" } ) .done(function( data ) { });
我用什么ü上面已经回答的技术,它工作正常,但我的问题是我需要生成使用约翰为文本的PDF conent。 我已经能够呼应传递的数据。 但产生以下内容普莱斯检查PDF uisng当越来越空
ob_start(); include_once(JPATH_SITE .'/components/com_gaevents/pdfgenerator.php'); $content = ob_get_clean(); $test = $_SESSION['content'] ; require_once(JPATH_SITE.'/html2pdf/html2pdf.class.php'); $html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8',0 ); $html2pdf->setDefaultFont('Arial'); $html2pdf->WriteHTML($test);