2017-06-15 4 views
-1

Ich versuche, Informationen aus einem Formular und AJAX es zu einer PHP-Datei, die es in eine CSV-Datei speichert, aber aus irgendeinem Grund, empfängt die PHP-Datei das Javascript-Objekt mit leeren Feldern , auch wenn sie in der Konsole gefüllt erscheinenAJAX Javascript Objekt zu PHP funktioniert nicht

Hier ist, wie mein Code wie folgt aussieht:

var contact_info_list = {company_name: "", contact_name: "", email: "", phone: ""}; 

contact_info_list bevölkert wird, wenn der Benutzer mit dem Formular interagiert, dann schicke ich es

$.ajax({ 
url: 'grab_contact_info.php', 
type: 'POST', 
data: JSON.stringify(contact_info_list), 
dataType: 'json' 
}) 
mit

Und dann ist hier meine PHP-Code, wo ich, dass

$contact_info = json_decode(file_get_contents('php://input'), true); 

Objekt greifen Kann jemand bitte sagen Sie mir, was soll ich hier fehlt?

Antwort

0

Versuchen data: contact_info_list,:

$.ajax({ 
    url: 'grab_contact_info.php', 
    type: 'POST', 
    data: contact_info_list, 
    dataType: 'json' 
}) 
+0

Ich glaube 'dataType' ist für Ajax-Antwort-Datentyp, Anforderungsdaten Typ wird mit 'contentType' festgelegt –

+0

überprüfen Sie https://StackOverflow.com/Questions/14322984/Differences-between-ContentType-and-Datatype-in-Jquery-Ajax-Function#14323012 für Erklärung –

0

Sie nicht neet "JSON.stringify", wie Sie schon sagen ajax es ist eine JSON-Datei. So, hier ist was für mich:

var contact_info_list = {company_name: "Test Co.", contact_name: "Jon Doe", email: "[email protected]", phone: "123456789"}; 

$.ajax({ 
    url: 'grab_contact_info.php', 
    type: 'POST', 
    data: contact_info_list, 
    dataType: 'json' 
}); 

Dann in Ihrer grab_contact_info.php Datei, die Werte wie diese:

$company_name = $_POST["company_name"]; 
$contact_name = $_POST["contact_name"]; 
$email = $_POST["email"]; 
$phone = $_POST["phone"]; 
Verwandte Themen