2016-05-23 8 views
1

Ich habe ein Problem mit Ajax und POST, da es nicht funktioniert, eine leere Antwort senden, arbeite ich mit Text (nicht Json) Daten.Ajax POST zurücksenden leere Antwort

Hier ist der Javascript-Code:

$.ajax({ 
    type: "POST", 
    url: "php/bddAlumnoElements.php", 
    data: "methodo=setLecturas,idLectura="+CurrentLecture, 
    async: true, 
    success: function(response) { 
     alert(response); 
    }, 
    cache: false, 
    contentType: false, 
    processData: false 
}); 
return false; 

Und hier ist der einfache PHP-Code Ich bin mit

if(isset($_POST['methodo'])){ 
    echo "blah!";  
} 

Ich habe auch den PHP-Code versucht, wie diese

if(isset($_POST['methodo'])=="setLecturas"){ 
    $message= "blah!";  
} 

Der Antwortalarm ist immer leer, also habe ich keine Ahnung was los ist, irgendwelche Vorschläge?

+0

Ihr 'data:' -Wert ist keine Abfragezeichenfolge, Sie müssen 'async' nicht als wahr angeben, das ist der Standardwert. Auch ein Grund für die Verwendung von 'processData: false',' contentType: false'? Wenn Sie diese Werte auf "false" setzen, bedeutet das normalerweise, dass Sie ein Objekt wie "FormData" als "data:" verwenden und es nicht von jQuery verarbeitet werden sollte. Lesen Sie die [api-Referenz] (https://api.jquery.com/jquery.ajax/), um zu wissen, was jede dieser Optionen macht. –

+0

Ich wusste nicht, dass die processData und contentType nur FormData sind, wodurch diese mein Problem behoben haben , vielen Dank! – Omaruchan

Antwort

3

ändern , zu &

data: "methodo=setLecturas&idLectura="+CurrentLecture, 

Parametern trennt durch das Symbol & nicht durch Komma , so methodo Wert mit Komma unerwünschtes Verketten wird.

+0

Danke, das war eigentlich der andere Grund, warum es nicht voll funktionierte. – Omaruchan