Gặp vấn đề Post form array ajax

Chào mọi người em đang gặp vấn đề là không lấy được dữ liệu khi gửi một mảng lên database. Trong Controllers với Model thì tạo hàm insert sao cho hợp lý ạ. Mình cám ơn


    var $a = jQuery.noConflict();
    $a(".briefform").unbind('submit').submit(function(e) {
      if (jQuery('.briefform').valid()) {
        e.preventDefault();

        var $info = new Array(); {

          $info.push({

            client: jQuery('#client').val()

          });

          $info.push({

            email: jQuery('#email').val()

          });

          $info.push({

            phone: jQuery('#phone').val()

          });

          $info.push({

            company_name: jQuery('#company_name').val()

          });

          $info.push({

            know_comma: jQuery('input[name="know-us"]:checked').val()

          });

          $info.push({

            cooperation_previous: jQuery('#cooperation_previous').val()

          });
        }
 $a.ajax({
          type: 'POST',
          url: 'brief-form',
          data: {
            info: $info,
            // brandding: $brandtab,
            // indentity: $indenttab,
            // website: $websitetab,
            action: 'brieffunction',
          },
          beforeSend: function() {
            jQuery('.contentajax').show();
            jQuery('.submitform').addClass('disabled');
          },
          success: function(data) {

 

            jQuery('.contentajax').hide();
            jQuery('.submitform').removeClass('disabled');
            if (data == 'NOTYET') {

              alert('Please choose services and put your info');

            } else if (data == "OK") {

              jQuery('#success').modal('show');

            } else {

              alert("have error! Can\'t sent email");

            }
            return false;
          },
          error: function(data) {
            jQuery('.briefform').find('.loadAjax').hide();
            return false;
          }
        });
      } else {
        alert('Please check again all required field is correct?');
      }
      return false;
    });
1 Like

Bạn check controller xem. Nó đang nhận post hay get? Cách lấy dữ liệu của bạn là đang lấy theo post hay get?
Ví dụ gửi post mà lại lấy theo get thì không lấy được là dễ hiểu.
PHP thì có var_dump, còn JS thì có console.log để kiểm tra thông tin truyền vào có đúng không.

5 Likes

Hi bạn. Trong controller mình dùng post ạ. Trong model mình có khai báo mà chuyển từ form vào không được.

mình chỉ ví dụ cho bạn dễ hiểu, là nó có nhiều nguyên nhân
Còn cách fix là bạn log dữ liệu ra để xem khâu nào bị lỗi.

Bây giờ (giả sử) luồng chạy nó thế này:

  1. Nhập dữ liệu vào form
  2. Gửi dữ liệu từ form (qua ajax) lên server
  3. Server lấy dữ liệu từ controller.

Luồng chạy đã có, thì bạn dò lại từng bước, xem xem chỗ nào có vấn đề.
Ví dụ ở bước 1 nó chưa nhập form thì bước 3 làm j có dữ liệu (ừ là ví dụ thôi)

Tất cả đều là ví dụ, và hướng làm, chứ không có chỉ tận gốc cho bạn được, vì bạn nêu lỗi rất chung chung, code liên quan cả server và client thì bạn chỉ vứt lên 1 đoạn gửi ajax, còn không biết là html có khai báo đúng không

Bạn cũng không cần phải gửi full code lên đâu, mình nhắc vậy để bạn biết là bạn bị thiếu cái gì ở câu hỏi.
Còn về người trả lời, là mình, thì mình không có thói quen đưa thẳng đáp án, luôn luôn là hướng làm.

5 Likes

Dạ check ajax thì nó truyền vào ok. Mình nghĩ chắc lấy dữ liệu từ server về controller bị lỗi.

Dạ vấn đề mình đang vướng là khai báo hàm insert trong controller với model ạ. Vì mình insert dữ liệu form mảng như đoạn ajax mình gửi. Mình làm bình thường như đoạn ajax form thông thường thì nó không nhận ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?