添加div内容以形成数据

时间:2016-07-21 08:05:40

标签: javascript php jquery html ajax

我正在尝试使用jQuery和AJAX发布一个表单,它会在我的页面上发送一些输入元素和html的{​​{1}}(来自this WYSIWYG plugin):

div

我也试过了:

        $("#group-add-btn").click(function(){
        var data = $("#group-add").serialize(); // form
        //This is the line vvv
        data["description"] = $("#description-editor").cleanHtml();
        // ^^^
        console.log(data);
        $.ajax({
            type: 'POST',
            url: base_url+"/some/method",
            dataType:'json',
            encode:'true',
            data:data,
            success: function(res){
                console.log(res);
                if(res.errors){
                    $("#group-add .feedback").html(res.errors);
                }
                else {
                    $("#group-container-box .panel-body").append(res.new_content);
                    console.log(res.new_content);
                    $("#group-add").trigger("reset");
                }
            },
            error: function(jqXHR, errorThrown){
                console.log('jqXHR:');
                console.log(jqXHR);
                console.log('errorThrown:');
                console.log(errorThrown);
            }
        })
    });

但是在达到':'之后意外地切断了内容(不确定这是否是预期的行为)。

将html作为提交数据的一部分包含在内的最佳方法是什么?我正在使用Code Igniter,因此我希望能够使用var data = $("#group-add").serialize() + "&description=" = $("#description-editor").html(); 访问此数据(类似于$this->input->post("description"))。

1 个答案:

答案 0 :(得分:0)

我发现我的html中的&符号(&)是错误的,可以使用encodeURIComponent()进行编码。

答案:

var data = $("#group-add").serialize() + "&description="+encodeURIComponent($("#description-editor").html());

我投了一份副本。