2016-04-18 10 views
-1

Dies ist der Ajax-Code, den ich habe. Ich weiß nicht, wo das Problem ist, warum es mir weiterhin Nullwerte gibt.Nullwerte beim Senden von Daten mit Ajax erhalten

$('#btnSubmit').click(function(event) { 
    var formData = { 
     'name'    : $('input[name=name1]').val(), 
     'branch_address' : $('input[name=bAddress1]').val(), 
     'officer_in_charge' : $('input[name=officer1]').val(), 
     'contact_number' : $('input[name=contactN1]').val() 
    }; 

    $.ajax({ 
     type  : 'POST', 
     dataType : 'json', 
     url   : "process_save.php", 
     data  : formData, 
     encode  : true 

     }) 
} 

Und die Eingabewerte kamen von hier

<form id="form1"> 
    <div class="modal-body"> 
     <input type="text" class="form-control" name="name1" /> 
     <input type="text" class="form-control" name="bAddress1" /> 
     <input type="text" class="form-control" name="officer1" /> 
     <input type="text" class="form-control" name="contactN1" /> 
    </div> 
    <div class="modal-footer"> 
     <input id="btnSubmit" type="submit" value="SUBMIT" class="btn" /> 
    </div> 
</form> 

process_save.php diesen Code enthält

if(!empty($_POST)){ 
     // convert form data to json format 
     $data = array(
      "name" => $_POST['name1'], 
      "branch_address" => $_POST['bAddress1'], 
      "officer_in_charge" => $_POST['officer1'], 
      "contact_number" => $_POST['contactN1'] 
     ); //processes the fields on the form 

     $json = json_encode($data); 
     $file = 'entries.json'; 
     // write to file 
     file_put_contents($file, $json, FILE_APPEND); 
} 
+0

Versuchen 'JSON.stringify mit()', ändern Ajax-Request-Daten als ' Daten: JSON.stringify (formData), ' –

+0

es hat nicht funktioniert @KartikeyaKhosla –

+1

Sie umbenannt' name1' in 'name' ->' 'name': $ ('input [name = name1]'). val(), ', also warum hast du' "name" => $ _POST ['name1'], 'anstelle von' "name" => $ _POST ['name'], '. Dies gilt für alle Ihre anderen Vars sowie – Sean

Antwort

0

Ihr Problem ist, dass Ihre PHP-Code die ursprünglichen Namen der Formulareingaben verwendet , nicht die Namen in Ihrer var formData. So Ihre PHP ändern $_POST Schlüssel zu den var formData Tasten -

Javascript Code-

// use these keys 
var formData = { 
    'name'    : $('input[name=name1]').val(), 
    'branch_address' : $('input[name=bAddress1]').val(), 
    'officer_in_charge' : $('input[name=officer1]').val(), 
    'contact_number' : $('input[name=contactN1]').val() 
}; 

php code-

// as the $_POST keys 
    $data = array(
     "name" => $_POST['name'], 
     "branch_address" => $_POST['branch_address'], 
     "officer_in_charge" => $_POST['officer_in_charge'], 
     "contact_number" => $_POST['contact_number'] 
    ); 
Verwandte Themen