Delta在图像中和最后都有换行符,当我调用JSON.parse时会导致错误。
var Font = Quill.import('formats/font');
Font.whitelist = ['arial', 'times-new-roman', 'tahoma', 'verdana', 'trebuchet-ms', 'impact'];
Quill.register(Font, true);
var toolbarOptions = [
[{ 'font': ['arial', 'times-new-roman', 'tahoma', 'verdana', 'trebuchet-ms', 'impact'] }],
[{'size': ['small', false, 'large', 'huge']}],
['bold', 'italic', 'underline', 'strike'],
['blockquote'],
[{'list': 'ordered'}, {'list': 'bullet'}],
[{'script': 'sub'}, {'script': 'super'}],
[{'indent': '-1'}, {'indent': '+1'}],
[{'direction': 'rtl'}],
['link', 'image', 'video'],
[{'color': []}, {'background': []}],
[{ 'align': [] }],
//['clean']
];
var quill = new Quill('#editor', {
modules: {
toolbar: toolbarOptions
},
theme: 'snow'
});
$('#saveDelta').click(function(){
var delta = quill.getContents();
var dados_json = JSON.stringify(delta);
var op = 9;
var info_obj = {
op: op,
dados: dados_json
}
var info_json = JSON.stringify(info_obj);
var ajax = ajaxObj("POST", "server.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
_('exibir').innerHTML = ajax.responseText;
} else {
console.log(ajax.responseText);
}
}
ajax.send("info_json="+info_json);
});
$('#exibirDelta').click(function(){
var op = "9";
var ajax = ajaxObj("POST", "server.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
var response = ajax.responseText.trim();
var last_quot = response.lastIndexOf('"');
var res = response.slice(0, last_quot);
var quot = res.lastIndexOf('"');
var res2 = response.slice(0, quot);
var res3 = res2+'"\\n"}]}';
var exibirQuill = new Quill('#show');
exibirQuill.setContents(JSON.parse(res3));
exibirQuill.enable(false);
} else {
console.log("error");
}
}
ajax.send("op="+op);
});
response.slice或str.replace(/ \ n / g,“”)解决了Delta末尾的问题,但是图像继续出现问题。有什么可以防止这种情况发生的吗?还是在后一种情况下,删除图像中的换行符?