2016-10-21 5 views
0

ich arbeite mit CodeIgniter, und ich versuche, einige Daten an einen Controller mit AJAX mithilfe eines FormData-Objekts zu senden.Senden von Daten an den Controller in AJAX mithilfe von FormData-Objekt

Das Problem ist, dass, wenn ich versuche, die Daten im Controller zu erhalten, indem $ this-> input-> get_post ("AttributName"), der Inhalt davon ist NULL. hier ist der Code:

The View:

<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"/> 

Die JQuery Script:

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); 
      } 
  
    } 
}); 

Der Controller:

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; 
    } 

was der richtige Weg ist, diese Daten zu bekommen, weil Ich habe alles andere überprüft und es ist in Ordnung.

Antwort

0

sollten Sie Formulardaten direkt verwenden, keine Notwendigkeit, es in einem Objekt verziehen, wie folgt:

data:formData, 
+0

Dank Fu Xu Sie hat mich gerettet wirklich. –

Verwandte Themen