Я использую приведенный ниже код, чтобы сохранить сообщение как черновик
$("body").on('click', 'button#post_draft', function(event) {
var post_title = $("#post_title").val();
var post_slug = $("#post_slug").val();
var post_content = $("#post_content").summernote('code');
var post_category_id = $(".post_category").val();
var post_excerpt = $("#post_excerpt").val();
var post_tags = $("#post_tags").tagging("getTags");
var post_featured_image = $('#upload_image').get(0);
var guestID = $(".post_guest").val();
var post_status = $("#post_status").is(':checked');
if (post_title != "" && post_slug != "" && post_category_id != "") {
toastr.info("Saving Post as Draft! Please Wait..", "Info!", {
progressBar: !0,
showMethod: "slideDown",
hideMethod: "slideUp",
timeOut: 2e3,
preventDuplicates: true,
positionClass: "toast-bottom-right"
});
$("select.post_category, #upload_image, [id^=post_]").attr("disabled", true);
$('#post_content').summernote('disable');
$("#post_draft").html("<i class='ft-loader spinner'></i> Saving Post..");
$image_crop.croppie('result', {
type: 'canvas',
size: 'viewport'
}).then(function(response) {
$.ajax({
url: 'saveDraft.php',
type: 'POST',
dataType: 'JSON',
data: {
action: "saveDraft",
type: "post",
incImages: "images",
id: post_id,
title: post_title,
slug: post_slug,
category: post_category_id,
content: post_content,
excerpt: post_excerpt,
tags: post_tags,
featured_image: response,
original_image: $original_image,
guestID: guestID,
status: post_status
},
success: function(resp) {
if (resp.status == "success") {
$("select.post_category, #upload_image, [id^=post_]").attr("disabled", false);
$('#post_content').summernote('enable');
$("#post_title").val("");
$("#post_slug").val("");
$('#post_content').summernote('reset');
$(".post_category").val("").change();
$("#post_excerpt").val("");
$("#post_tags").tagging("reset");
$("#upload_image").val("");
$("#image-cropper-section").slideUp("slow");
$("#image_demo").empty();
$('#post_status').prop('checked', false);
$("#post_draft").html("<i class='fa fa-save fa-sm'></i> Save as Draft");
toastr.success(resp.value, "Success!", {
progressBar: !0,
showMethod: "slideDown",
hideMethod: "slideUp",
timeOut: 2e3,
preventDuplicates: true,
positionClass: "toast-bottom-right"
});
$(".post_category").focus();
}
if (resp.status == "error") {
toastr.error(resp.value, "Error!", {
progressBar: !0,
showMethod: "slideDown",
hideMethod: "slideUp",
timeOut: 2e3,
preventDuplicates: true,
positionClass: "toast-bottom-right"
});
return false;
} else {
$("select.post_category, #upload_image, [id^=post_]").attr("disabled", false);
$("#post_draft").html("<i class='fa fa-save fa-sm'></i> Save as Draft");
$('#post_content').summernote('enable');
console.log(resp);
}
}
});
})
}
});
Всякий раз, когда я запускаю приведенный выше код, я получаю сообщение об ошибке в консоли, как показано ниже
Uncaught (в обещании) RangeError: Превышен максимальный размер стека вызовов
PS: я использую приведенный выше код для сохранения в виде черновика при нажатии кнопки, а также при вызове приведенная ниже функция
window.setInterval(function() {
autoSave();
}, 10000)
Единственное различие между этими двумя кодами состоит в том, что функция autoSave()
не имеет параметра изображения, а button#post_draft
имеет параметр изображения, который необходимо отправить по нажатию ajax кнопки.
Это ошибка, которую я получил в первый раз, не знаю, как с ней бороться. Было бы здорово, если бы кто-нибудь мог помочь мне здесь.