Skip to main content Link Search Menu Expand Document (external link)

Hướng dẫn fix lỗi không thể chỉnh sửa bài viết trên Mobile cho template Last Talk

Gần đây, mình có chia sẻ code Last Talk lên thư viện Template. Tuy nhiên, mình đã lỡ không để ý lỗi ajax trên mobile. Cụ thể, mình đã code đoạn javascript ở index về phần edit dùng chung api với send:

url: "/app/api/confession/send"

Vậy nên, hôm nay mình đã thêm 1 đoạn json mới để phục vụ cho việc này. Nếu bạn là người dùng sử dụng template này, hãy tham khảo bài viết này ngay nhé.

Trước tiên, các bạn cần tạo tệp edit trong thư mục /app/api/confession/, với nội dung như sau:

{% from '_functions' import is_login %}
{% set table_name = 'confession' %}
{% set content, id, time = form_post('input_content'), form_post('input_id'), 'now'|date('U') %}
{% if is_login() and content|trim|length in 3..7000 and content|trim != null %}
{% do update_rows_table(table_name, {'content':content}, {'id':id}) %}
{
    "result":"success"
}
{% else %}
{
    "result":"failed"
}
{% endif %}

Tiếp theo, bạn tìm đến đoạn html chèn code javascript xử lý api send. Sửa thành:

<script>
    var submit_tag = $("#submit");
    submit_tag.click(function() {
        var content = $("#input_content").val();
        $.ajax({
            url: "/app/api/confession/{% if act and data.id == id and id > 0 %}edit{% else %}send{% endif %}",
            type: "POST",
            data: {
                {% if act and data.id == id and id > 0 %}input_id: "{{data.id}}",{% endif %}
                input_content: content
            },
            beforeSend: function() {
                // kiểm tra nội dung nhập vào
                if (content.length < 3 || content.length > 7000) {
                    alert("Nội dung nhập vào không hợp lệ! Vui lòng kiểm tra lại!");
                    return false;
                } else {
                    submit_tag.html('Đang xử lý <i class="fa fa-spinner fa-spin fa-fw"></i>');
                }
            },
            success: function(data) {
                // xoá nội dung cũ
                $("#input_content").focus();
                $("#input_content").val("");
                // thông báo trả về
                var data = JSON.parse(data);
                console.log(data.result);
                if (data.result == "success") {
                    window.location.href = "/";
                } else {
                    alert("Lỗi lưu dữ liệu! Vui lòng kiểm tra lại nội dung nhập vào!");
                }
                submit_tag.html('Gửi nội dung');
            }
        });
    });
</script>

Okela, như vậy lỗi đã được sửa xong, nếu có gì thắc mắc, hãy liên hệ với tụi mình ở Shoutbox trang chủ SMM hoặc wap.sacmau nhé.

Chia sẻ



QRcode
QRcode