Thực thi AJAX Javascript trong giao diện mặc định

Đoạn code bên dưới sẽ giới thiệu cho bạn cách thực thi AJAX khi sử dụng giao diện được thực hiện bởi HocWP Team. Phiên bản cập nhật ngày 26 tháng 11 năm 2019.

body.trigger("hocwpTheme:ajaxStart", [element]);

$.ajax({
    type: "POST",
    dataType: "JSON",
    url: hocwpTheme.ajaxUrl,
    cache: true,
    data: {
        action: "hocwp_theme_ajax",
        callback: "update_meta",
        method: "post",
        meta_type: meta_type,
        meta_key: meta_key,
        meta_value: meta_value,
        object_id: object_id,
        value_type: value_type,
        change_id: element.attr("data-object-id"),
        change_value: change_value,
        nonce: hocwpTheme.nonce
    },
    success: function (response) {
        if (response.success) {
            if (response.data && response.data.meta_value) {
                meta_value = response.data.meta_value;

                element.attr("data-meta-value", meta_value);
            }

            var container = element.parent(),
                displayResult = container.find(element.attr("data-display-result"));

            if (displayResult.length && response.data && response.data.formatted_meta_value) {
                displayResult.html(response.data.formatted_meta_value);
            }

            if ("up_down" === value_type) {
                element.addClass("disabled");
                element.prop("disabled", true);
            }

            var doText = element.attr("data-text"),
                undoText = element.attr("data-undo-text");

            if (response.data && response.data.job_action && "undo" == response.data.job_action && $.trim(doText)) {
                element.html(doText);
            } else if (response.data && response.data.job_action && "do" == response.data.job_action && $.trim(undoText)) {
                element.html(undoText);
            }
        }

        element.trigger("hocwpUpdateMeta:ajaxSuccess", [element, response]);

        if (response.data && response.data.message && $.trim(response.data.message)) {
            alert(response.data.message);
        }
    },
    complete: function (response) {
        body.trigger("hocwpTheme:ajaxComplete", [element, response]);
        element.blur();
    }
});

Không có bình luận.

Bạn có thể trở thành người đầu tiên để lại bình luận.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *