克隆工作但无法使用jquery通过ajax克隆它

时间:2013-03-29 05:05:13

标签: jquery

jquery cloning正在运行,例如,

$("#treeFile" > ul:first > li:first ul > *).clone().appendTo("#dummyTree");

但是,当尝试将此克隆发送到帖子ajax时,该文件为空...

var cloneTree = $("#treeFile" > ul:first > li:first ul > *").clone();


$.post("tree.php", cloneTree);

查看firebug时,此http请求已成功,但在查看服务文件系统上的文件时,其空白...

3 个答案:

答案 0 :(得分:1)

有几件事

1)只有当您想要"

内的所有内容时,才从最后删除#treeFile周围的额外> *以及ul
 var cloneTree = $("#treeFile" > ul:first > li:first ul > *").clone(); //wrong
 var cloneTree = $("#treeFile > ul:first > li:first > ul").clone(); //correct    

2)您可以尝试通过ajax

发布数据
var cloneTree = $("#treeFile > ul:first > li:first > ul").html();

JSFIDDLE:http://jsfiddle.net/5QBYW/1/

答案 1 :(得分:0)

如果 HTML 需要 POST ,您可以这样做:

$.post("tree.php", {html: cloneTree.html()});

如果没有参数名称,则无法将数据发布到服务器。在上面的代码中,参数的名称为html

在服务器端,您可以$_POST['html']

访问此HTML

答案 2 :(得分:0)

您可以按如下方式将html传递给服务器:

请注意,由于引号错误,代码中会出现语法错误:

var cloneTree = $("#treeFile > ul:first > li:first ul > *").clone();

$.post("tree.php", {html:cloneTree.html()});

另外,如果你不知道,你不需要克隆对象来发布它的html。你可以直接发送它:

$.post("tree.php", {html:$("#treeFile > ul:first > li:first ul > *").html()});