2016-04-18 4 views
-1

Это код ajax, который у меня есть. Я не знаю, где проблема, почему он продолжает давать мне нулевые значения.Получение нулевых значений при отправке данных с помощью ajax

$('#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 

     }) 
} 

И входные значения пришли сюда

<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 содержит этот код

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

Попробуйте использовать 'JSON.stringify()', изменять АЯКС данные запроса как ' данные: JSON.stringify (formData), ' –

+0

это не сработало @KartikeyaKhosla –

+1

Вы переименовали' name1' в 'name' ->' 'name': $ ('input [name = name1]'). val(), ', так почему у вас есть' "name" => $ _POST ['name1'], 'вместо' "name" => $ _POST ['name'], '. Это касается всех ваших других варов, а также – Sean

ответ

0

Ваш вопрос в том, что ваш код PHP использует оригинальные имена форм входов , а не имена в вашем var formData. Таким образом изменить ваш PHP $_POST ключи к var formData ключей -

Javascript код-

// 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'] 
    ); 
Смежные вопросы