2017-10-01 2 views
0

Ich mache ein Registrierungsformular und Daten über Ajax und empfangene Daten über senden $ input = json_decode (file_get_contents ("php: // input"));Ich kann keine JSON-Objektdaten über AJAX senden

Es werden keine Werte auf dem Server empfangen und geben als Antwort Null zurück. Das ist mein PHP code Bei Vorlage des Formulars diese Funktion aufgerufen wird und alle Eingänge empfangen werden in Formdata

function register() { 
    var formData={ 
    h_no:$('input[name=h_no]').val(), 
    h_name:$('input[name=h_name]').val(), 
    total_rooms:$('input[name=total_rooms]').val(), 
    total_blocks:$('input[name=total_blocks]').val(), 
    h_id:$('input[name=h_id]').val(), 
    pwd:$('input[name=pwd]').val(), 
    c_pwd:$('input[name=c_pwd]').val(), 
    } 
    console.log(formData); 
    $.ajax({ 
    type:'POST', 
    url:'../api/hostels/register.php', 
    dataType: 'json', 
    data:formData, 
    success:function(data) { 
     console.log(data); 
    } 
    }); 
} 

Objekt: Hier erhalte ich bin JSON-Daten und Decodierung

Dies ist meine AJAX-Code sie zu verarbeiten und die Rückkehr JSON-Antwort zurück

header("Access-Control-Allow-Origin: *"); 
header("Content-Type: application/json; charset=UTF-8"); 
header("Access-Control-Allow-Methods: POST"); 
header("Access-Control-Max-Age: 3600"); 
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); 

$input = json_decode(file_get_contents("php://input")); 


/* application code is written here */ 

echo json_encode($input); 

Ausgang dieses kommt null

+0

Da das Attribut 'dataType: json' __nicht bedeutet, dass Sie json an den Server senden. –

+0

dann, wie kann ich diese JSON auf Server –

+0

Daten an den Server als ein einfaches Array gepostet. Verwenden Sie zum Beispiel '$ _POST'. Und übrigens, Sie haben keine JSON auf Client. Sie haben ein Javascript-Objekt, und es ist nicht Json. –

Antwort

0

Verwenden Sie JSON.stringify(formData), um die Daten zu senden.