使用CKEDITOR发送内容时遇到问题, 我使用AJAX发送内容
$("form#updateInfo").submit(function(){
$("div#loading").html('<img class="loading" src="img/loading.gif" alt="" />');
var content = CKEDITOR.instances['editor1'].getData();
$.ajax({
url: "Sources/Ajax.php?act=updateInfo",
type: "POST",
data: "page="+$("input[name=page]").val()+"&content="+content,
success: function(callback){
$("div#loading").html('');
if(callback != "OK"){
$("span#cke_editor1").addClass("err");
$("div#loading").html(error(callback));
}else{
$("div#loading").html(ok("Successfully update!"));
$("div.n_error").remove();
$("span#cke_editor1").removeClass("err");
$("span#cke_editor1").val("");
}
}
});
return false;
});
您是否看到编辑器内容在变量中: 。CKEDITOR.instances [ 'editor1']的getData(); 我不明白为什么它不保存所有内容, 所以我开始调试代码,当他看到'/'时我已经理解了CKEDITOR中断。 我认为这是魔术quate,但不是,也许在PHP中出错了, 所以我删除了CKEDITOR并试着用常规的“textarea”来做 它的工作正常!
实施例: 内容:
嘿伙计们,我今天开车送亚历克斯的车,真是太有趣了!
CKEDITOR的回应: “嘿伙计们,我有开啤酒”
Textarea的回应: “嘿伙计们,今天我驾驶亚历克斯的车,真是太有趣了!”
我对这个故事感到绝望,也许你们中的一些人可能会帮助我。
THX!
答案 0 :(得分:1)
这不是真正的POST变量的方法,我想你可能会混合使用POST和GET。
尝试使用数据格式
url: "Sources/Ajax.php?act=updateInfo",
type: "POST",
data: {
page: $("input[name=page]").val(),
content: content
},
success: function(callback){ ... }
你如何在后端阅读它们? $_POST
?如果没有,我怀疑这确实是一个GET / POST问题,并且该值可能会被浏览器或服务器自动转换。如果您在开发者控制台中运行CKEDITOR.instances['editor1'].getData();
会发生什么?你看到完整的文字还是缩短的版本?
另外,您使用的是什么版本的CKEditor?目前,使用CKEDITOR.instances.editor.getData();
更为常见。