jQuery的AJAX:如何通过大量HTML标签的参数? [英] jQuery AJAX: How to pass large HTML tags as parameters?

查看:90
本文介绍了jQuery的AJAX:如何通过大量HTML标签的参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何传递一个大的HTML标签的数据使用jQuery AJAX我的PHP?当我收到的结果,这是错误的。

jQuery的AJAX code

  $('#saveButton)。点击(函数(){
        //做AJAX和存储树形结构的PHP数组
        //(稍后在数据库保存)
        。VAR treeInnerHTML = $(#demo_1)HTML();
        警报(treeInnerHTML);
        VAR ajax_url ='ajax_process.php';
        VAR PARAMS ='tree_contents ='+ treeInnerHTML;
        $阿贾克斯({
            键入:POST,
            网址:ajax_url,
            数据:参数,可以
            成功:功能(数据){
                $(#show_tree)的HTML(数据);

            },
            错误:函数(REQ,状态,错误){}
        });
});
 

treeInnerHTML实际值

 < UL类=升>
   <李ID =phtml_1级=开放>
       &所述; A HREF =#>&其中;插件>&安培; NBSP;&所述; /插件>根节点1所述; / a取代;
       < UL>
           <李类=叶子ID =phtml_2>
             &所述; A HREF =#>&其中;插件>&安培; NBSP;&所述; /插件>儿童节点1所述; / a取代;
           < /李>
           <李类=最后一片叶子ID =phtml_3>
             &所述; A HREF =#>&其中;插件>&安培; NBSP;&所述; /插件>儿童节点2'; / a取代;
           < /李>
       < / UL>
   < /李>
   <李ID =phtml_5级=文件最后一片叶子>
       &所述; A HREF =#>&其中;插件>&安培; NBSP;&所述; /插件>根节点2'; / a取代;
   < /李>
< / UL>
 

从返回的结果我show_tree格

 < UL类=\&放大器; QUOT;升\&放大器; QUOT;>
   <李ID =\&放大器; QUOT; phtml_1 \&放大器; QUOT;类=\&放大器; QUOT;开\&放大器; QUOT;>
       &所述; A HREF =%5C%22%#5C 22%>&其中;插件>&所述; /插件>&所述; / a取代;
   < /李>
< / UL>
 

解决方案

查看是否改变PARAMS从字符串对象可以帮助:

  VAR PARAMS = {tree_contents:treeInnerHTML};
 

请参阅 http://jsfiddle.net/7bF2Y/

How can I pass a large HTML tag data to my PHP using jQuery AJAX? When I'm receiving the result it is wrong.

jQuery AJAX code:

$('#saveButton').click(function() {
        // do AJAX and store tree structure to a PHP array 
        //(to be saved later in database)
        var treeInnerHTML = $("#demo_1").html();
        alert(treeInnerHTML);
        var ajax_url = 'ajax_process.php';
        var params = 'tree_contents=' + treeInnerHTML;
        $.ajax({
            type: 'POST',
            url: ajax_url,
            data: params,
            success: function(data) {
                $("#show_tree").html(data);

            },
            error: function(req, status, error) { }
        });
});

treeInnerHTML actual value:

<ul class="ltr">
   <li id="phtml_1" class="open">
       <a href="#"><ins>&nbsp;</ins>Root node 1</a>
       <ul>
           <li class="leaf" id="phtml_2">
             <a href="#"><ins>&nbsp;</ins>Child node 1</a>
           </li>
           <li class="last leaf" id="phtml_3">
             <a href="#"><ins>&nbsp;</ins>Child node 2</a>
           </li>
       </ul>
   </li>
   <li id="phtml_5" class="file last leaf">
       <a href="#"><ins>&nbsp;</ins>Root node 2</a>
   </li>
</ul>

Returned result from my show_tree div:

<ul class="\&quot;ltr\&quot;">
   <li id="\&quot;phtml_1\&quot;" class="\&quot;open\&quot;">
       <a href="%5C%22#%5C%22"><ins></ins></a>
   </li>
</ul>

解决方案

See if changing params from an string to an object helps:

var params = { tree_contents: treeInnerHTML };

See http://jsfiddle.net/7bF2Y/

这篇关于jQuery的AJAX:如何通过大量HTML标签的参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆