jQuery通过POST发送HTML数据

前端之家收集整理的这篇文章主要介绍了jQuery通过POST发送HTML数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery使用HTML的HTML内容PHP文件进行POST。 HTML内容包含表,输入,较小的div,我想抓取主DIV的内容并将其发送到数据库。我可以想到的唯一选择是POST方法,但我不知道是否可以发送纯HTML。有没有其他选项可以将HTML内容从div发送到PHP文件以插入到MysqL中?

谢谢。

编辑:我现在可以使用jQuery的POST发送完整的HTML数据。但是,该DIV中的HTML字符会变成特殊字符。示例:“>”将成为“& gt”当发生这种情况时,我的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()将此字符串发送回服务器。

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

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

jquery将处理参数的编码。
如果你(无论什么原因)想保留你的字符串,你必须用像escape()这样的值来编码。

var data = 'id='+ escape(currid) +'&html='+ escape(div_html);
原文链接:https://www.f2er.com/jquery/182347.html

猜你在找的jQuery相关文章