gpt4 book ai didi

jQuery通过POST发送HTML数据

转载 作者:行者123 更新时间:2023-12-03 21:40:21 26 4
gpt4 key购买 nike

我正在使用 jQuery 使用 div 的 HTML 内容向 PHP 文件发送 POST。 HTML 内容包含表格、输入、较小的 div,我想获取主 DIV 的内容并将其发送到数据库。我能想到的唯一选择是 POST 方法,但我不知道是否可以用它发送纯 HTML。是否还有其他选项可以将 HTML 内容从 div 发送到 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()将此字符串发送回服务器。

编辑:不要将字符串作为参数data传递给.post(),而是传递一个对象,例如

var data = {
id: currid,
html: div_html
};
$.post("http://...", data, ...);

jquery 将处理参数的编码。
如果您(无论出于何种原因)想要保留字符串,则必须使用 escape() 之类的内容对值进行编码.

var data = 'id='+ escape(currid) +'&html='+ escape(div_html);

关于jQuery通过POST发送HTML数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com