Tìm thấy 1 mục

[TIPS] MỘT SỐ CÁCH DÙNG AJAX TRONG FORUMOTION

Diễn đàn: TipsTrả lời: 0Lượt xem: 220

 Tue Jun 23, 2020 11:35 am

[size=18]1. Gửi bài viết mới[/size] (new topic)


Code:
$.post("/post", {
   mode: "newtopic",
   f: "<forum_id>",
   subject: "<Tiêu_đề>",
   message: "<Nội_dung>",
   post: "Ok"
}).done(function (data) {
   // Xử lý các lỗi từ chối như giới hạn thời gian, chưa đăng nhập, chuyên mục khóa...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});


[size=18]2. Trả lời bài viết[/size] (reply)




Code:
$.post("/post", {
   mode: "reply",
   t: "<topic_id>",
   message: "<Nội_dung>",
   post: "Ok"
}).done(function (data) {
   // Xử lý các lỗi từ chối như có người vừa gửi trước đó, giới hạn thời gian, chưa đăng nhập, chủ đề khóa...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});


[size=18]3. Gửi tin nhắn riêng[/size] (pm)




Code:
$.post("/privmsg", {
   mode: "post",
   subject: "<Tiêu_đề>",
   message: "<Nội_dung>",
   "username[]": "<Tên_người_nhận>",
   u: "user_id_người_nhận",
   folder: "inbox",
   post: "Ok"
}).done(function (data) {
   // Xử lý các lỗi từ chối như giới hạn thời gian, chưa đăng nhập, sai thông tin người nhận, cấm gửi thư...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});



[size=18]4. Viết lên tường[/size] (wall)




Code:
$.post("/privmsg", {
   subject: "<Tiêu_đề>",
   message: "<Nội_dung>",
   username: "<Tên_người_nhận>",
   u: "user_id_người_nhận",
   mode: "post_profile",
   folder: "profile",
   post: "Ok"
}).done(function (data) {
   // Xử lý các lỗi từ chối như giới hạn thời gian, chưa đăng nhập, sai thông tin người nhận, cấm đăng tin...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});



[size=18]5. Liên hệ[/size] (contact)


Code:
$.post("/contact", {
   subject: "<Tiêu_đề>",
   message: "<Nội_dung>",
   reg_key: "<Mã_captcha>", // Mã này người dùng nhập từ ảnh: <img src="/antirobot_pic.forum?a=1" alt="regkey" />
   action: "submit"
}).done(function (data) {
   // Xử lý các lỗi từ chối như cấm đăng liên kết, sai mã captcha, cấm liên hệ...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});



[size=18]6. Tìm kiếm thành viên[/size] (search user)




Code:
$.get("/search?mode=searchuser&fieldname=username", {
   search_username: "<Từ_Khóa>",
   time: timestamp()
}).done(function (data) {
   // Kết quả tìm kiếm sẽ được liệt kê trong danh sách: $(data).find("#username_list")
   // Xử lý khi tìm kiếm thành công với các trường hợp không tìm thấy, tìm thấy 1 kết quả, tìm thấy nhiều kết quả
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});



[size=18]7. Sửa thông tin cá nhân[/size] (edit profile)




Code:
$.post("/ajax_profile.forum?jsoncallback=?", {
   id: "<field_ID>",
   user: "<user_ID>",
   active: "1",
   content: '[["<field_name>","<Nội dung>"]]',
   tid: $("#qjump input[name='tid']").val()
}, {}, "json").done(function (data) {
   // Xử lý các lỗi từ chối như sai field ID, sai field name, chưa đăng nhập, cấm sửa field...
   // Xử lý khi gửi thành công, kết quả lấy từ: data["<field_ID>"]
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});


[size=18]8. Bỏ phiếu[/size] (vote)




Code:
$.post("<Liên_kết_bỏ_phiếu>").done(function (data) {
   // Xử lý các lỗi từ chối như chưa đăng nhập, đã bỏ phiếu, cấm bỏ phiếu...
   // Xử lý khi bỏ phiếu thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});




[size=18]9. Bình chọn[/size] (poll)


Code:
$.post("/post", {
   t: "<topic_id>",
   topic_id: "<topic_id>",
   "vote_id[]": "<vote_id>",
   mode: "vote",
   tid: $("#qjump input[name='tid']").val(),
   submit: "Ok"
}).done(function (data) {
   // Xử lý các lỗi từ chối như sai topic ID, sai vote id, chưa đăng nhập, cấm bình chọn...
   // Xử lý khi gửi thành công
}).fail(function () {
   // Xử lý khi lỗi do sever như rớt mạng, quá tải...
}).always(function () {
   // Xử lý khi kết thúc tiến trình
});


Chú ý: Đối với 1234 phải tắt chức năng chống ủy quyền, nếu không bạn sẽ cần phải bổ sung tham số auth[]
ACP >> QLTT >> Forum >> Security:
Unauthorize unofficial forms to post messages and private messages on the forum : No


Nguồn:


ZzBaivong


Tags: #jquery #tips #Ajax


Về Đầu Trang