使用 FormData 对象向 AJAX 中的控制器发送数据

sending data to controller in AJAX using FormData Object

我正在使用 CodeIgniter,我正在尝试使用 FormData 对象将一些数据发送到 AJAX 的控制器。

问题是,当我尝试使用 $this->input->get_post("AttributeName") 获取控制器中的数据时,其内容为 NULL。 这是代码:

观点:

<input type="text" name="firstName" id="new-member-firstName" class="new-event-text-input" autocomplete="off"/>
 
<input type="text" name="lastName" id="new-member-lastName" class="new-event-text-input" autocomplete="off"/>
 
<input type="text" name="title" id="new-member-title" class="new-event-text-input" autocomplete="off"/>
 
<input type="text" name="mail" id="new-member-mail" class="new-event-text-   input" autocomplete="off"/>

JQuery 脚本:

var formData = new FormData();
formData.append("affiliation", $("#selectedAffiliate").val());
formData.append("firstName", $('#new-member-firstName').val());
formData.append("lastName", $('#new-member-lastName').val());
formData.append("title", $('#new-member-title').val());
formData.append("mail", $('#new-member-mail').val());
 
alert($("#selectedAffiliate").val())
 
$.ajax(
{
   url:$("#URL").attr("myURL") + NewEvent/DataWriters/DataWriterForComities/addMember',
   type:'post',
   data:{ formData },
   cache: false,
   contentType: false,
   processData: false,
   datatype: 'html',
   success:function(res)
   {
       alert("The Member has been registred");
   },
   statusCode:
   {
      500:function()
      {
         alert(500);
      },
      403:function()
      {
         alert(403);
      },
      400:function()
      {
         alert(400);
      }
 
    }
});

控制者:

    public function addMember()
    {
        $this->load->model('Member');
     
        $member = new Member();
        $member->setLastName( $this->input->get_post("lastName") );
        $member->setFirstName( $this->input->get_post("firstName") );
        $member->setMail( $this->input->get_post("mail") );
        $member->setTitle( $this->input->get_post("title") );         
        $memberId = $member->save();
        echo $memberId;
    }

获取这些数据的正确方法是什么,因为我检查了其他所有内容并且没问题。

你应该直接使用formData,不需要在对象中变形,如下:

data:formData,