我正在尝试使用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")
)。
答案 0 :(得分:0)
我发现我的html中的&符号(&)是错误的,可以使用encodeURIComponent()
进行编码。
答案:
var data = $("#group-add").serialize() + "&description="+encodeURIComponent($("#description-editor").html());
我投了一份副本。