09/10/2018, 23:36

Lại là Ajax đây !

Khá vấn đề!

Ai biết cách thức mà VBB viết Ajax về cái Quick Reply phía dưới không?
Post lên thành công thì tự động cập nhật lên trang luôn mà không thấy Refesh!

Các pác thử test luôn cái phần Quick Reply phía dưới luôn để hiểu vấn đề nhá! hiểu rồi thì có cách nào chỉ em với!
12gio viết 01:40 ngày 10/10/2018
Ah! bác nào hiểu thì lấy cho em ví dụ củ thể luôn nha, có thể zip cho 1 file demo nữa thì tốt quá!
mrsinguyenus viết 01:43 ngày 10/10/2018
Vậy đưa luôn source cho bà con code dùm cho
12gio viết 01:50 ngày 10/10/2018
Quote Được gửi bởi mrsinguyenus View Post
Vậy đưa luôn source cho bà con code dùm cho
Đang kêu gào kiếm cái code đó gium hay chỉ giùm cho với, nếu có rồi thì vô đây làm gì?
conmalele viết 01:39 ngày 10/10/2018
Cách thức của nó như sau:
_ Lấy posthash, poststarttime và clean nó
_ Clean tiếp mấy cái input khác
_ Kiểm tra đã login hay chưa
_ Kiểm tra xem có plugin nào hook vào không, nếu có thì eval cái hook đó
_ Kiểm tra wysiwyg và chuyển nó qua BBCode
_ Kiểm tra ajax và convert_urlencoded_unicode nội dung bài viết
_ Kiểm tra quickreply cho phần multi quote
_ Lấy và kiểm tra các giá trị trong: fromquickreply
_ Tạo array lấy giá trị về thông của bài viết
_ Phần quan trọng:
PHP Code:
WHERE post.threadid $threadinfo***91;threadid***93; AND " . (
                (
$lastviewed = $vbulletin->GPC***91;'ajax_lastpost'***93;) ?
                    "
post.dateline $lastviewed AND (post.visible OR post.postid $newpost***91;postid***93;)" :
                    "
post.postid $newpost***91;postid***93;"
                ) . "
                
$hook_query_where
            ORDER BY dateline 
Đây là phần quan trọng để lấy nội dung cho việc cập nhật. Sau đó nó sẽ tạo xml để response lại và hiện ra

PHP Code:
$xml = new vB_AJAX_XML_Builder($vbulletin'text/xml');
$xml->add_group('postbits');
...
$xml->add_tag('time'TIMENOW);
$xml->close_group();
$xml->print_xml(); 
conmalele viết 01:53 ngày 10/10/2018
PHP Code:
<?xml version="1.0" encoding="utf-8"?>

<postbits>

    <postbit postid="785291"><!***91;CDATA***91;<!-- post #785291 -->
Nội dung bài viết + html
    <!-- / post #785291 -->***93;***93;></postbit>
    <time>1184060915</time>

</postbits>
Sau khi nhận xong, nó sẽ dùng DOM để lấy chèn vào cuối cái div trong trang. Bạn xem thêm mấy cái hàm do_ajax là thấy ngay cách thức.
conmalele viết 01:42 ngày 10/10/2018
Nếu bạn hiểu nó rồi thì nên post lên cho mọi người cùng thảo luận. Tôi chỉ biết đến vậy
12gio viết 01:46 ngày 10/10/2018
Quote Được gửi bởi conmalele View Post
Nếu bạn hiểu nó rồi thì nên post lên cho mọi người cùng thảo luận. Tôi chỉ biết đến vậy
Đang nghiên cứu! Mới hiểu sơ bộ thôi, làm xong tui sẽ đưa Source này lên coi!
hoaithanhws viết 01:39 ngày 10/10/2018
đưa lên sớm nha tui rất cần vấn đề đó
tekimatsu viết 01:36 ngày 10/10/2018
Hic sao không thử dùng jQuery í, đơn giản lắm, khỏi phải mắc công code JS chi cho mệt
Bài liên quan
0