QUẢNG CÁO TẠI ĐÂY WEBSITE - CLICK ĐỂ LIÊN HỆ

Một số cách dùng ajax trong forumotion

Thảo luận trong 'Tips' bắt đầu bởi Admin, 19 Tháng mười 2015.

  1. Admin

    Làm thành viên từ:
    27 Tháng chín 2015
    Số bài viết:
    2,220
    Đã được thích:
    48
    Điểm thành tích:
    48
    Giới tính:
    Nam
    1. Gửi bài viết mới (new topic)
    Mã:
    $.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
    });
    2. Trả lời bài viết (reply)
    Mã:
    $.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
    });
    3. Gửi tin nhắn riêng (pm)
    Mã:
    $.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
    });
    4. Viết lên tường (wall)
    Mã:
    $.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
    });
    5. Liên hệ (contact)
    Mã:
    $.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
    });
    6. Tìm kiếm thành viên (search user)
    Mã:
    $.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
    });
    7. Sửa thông tin cá nhân (edit profile)
    Mã:
    $.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
    });
    8. Bỏ phiếu (vote)
    Mã:
    $.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
    });
    9. Bình chọn (poll)
    Mã:
    $.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 1, 2, 3, 4 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
  • Chia sẻ trang này

    loading...