如何使用ckeditore使用ajax发送数据?

我在django有一个表格。 这是’撰写邮件’表格。 我将此表单从视图发送到我的模板,然后我应用ckeditor来改变体型。 我希望这个表格由ajax发布。 当使用ckeditor时,body字段的值不会随request.POST一起发送。 我使用这行代码来使用ckeditor:

CKEDITOR.replace('id_body'); 

(不使用ckeditor,一切正常。)

 
{% csrf_token %} {{ form.non_field_errors }}
{{ form.recipient }} {{ form.recipient.errors }}
{{ form.subject }} {{ form.subject.errors }}
{{ form.body }} {{ form.body.errors }}

我使用此脚本通过ajax发送表单数据:

  $(function() { $('#compose_form').submit(function() { var temp = $("#compose_form").serialize(); $.ajax({ type: "POST", data: temp, url: 'compose/', success: function(data) { // do s.th } }); return false; }); });  

使用这个脚本,body值不会发送到request.POST(我的意思是它在body字段中发送空字符串),当我将下面的行添加到我的脚本时,它发送body字段的值,但它不是ajax any更多。 你能帮帮我怎么办?

编辑器中的数据未包含在表单中的原因是编辑器不是表单的一部分。 它需要更新与之关联的表单元素。 为此,您需要告诉编辑器更新表单元素。

因此,在表单的提交function中,您需要从编辑器中获取数据。

这应该是诀窍:

 $(function() { $('#compose_form').submit(function() { for (var instance in CKEDITOR.instances) CKEDITOR.instances[instance].updateElement(); var temp = $("#compose_form").serialize(); etc etc... 
  

我希望上面的脚本可以帮到你