Ich versuche, meine $ _POST Wert in der Alarmbox mit jQuery AJAX-Funktion, aber der $ _POST Wert von meinem PHP-Controller ist immer leer und ich bekomme immer ein leeres Array in der Antwort.
Ich bin mit PHP ab Version 5.5, jQuery-Version 2.2.3
(ich habe mehrere Varianten der möglichen Lösungen für dieses Problem versucht, aber ich kann immer noch nicht die richtige Art und Weise zu beheben diese finden).
1. Dies ist mein AJAX-Code (ich habe gemacht nicht mit Funktion einreichen, ich bin nur einige Inhalte auf meiner Web-Seite ohne Umleitung Aktualisierung):
$.ajax({
method: 'POST',
url: '../OrganizationController.php',
dataType: "json",
contentType: "application/json",
data: {'myForm':$('#myForm').serialize()},
success: function(data){
alert(data);
},
error: function(xhr, desc, err){
console.log(err);
}
});
2. Es meine einfache PHP-Controller ist:
<?php
include('../mysql_conn.php');
$value;
if ($_POST['myForm']) {
$value= $_POST['myForm'];
header('HTTP/1.1 200 OK');
} else {
header('HTTP/1.1 500 Internal Server Error');
}
header('Content-Type: application/json');
echo json_encode($value);
...
?>
3. Meine einfache Form:
<form id="myForm">
<input type="text" name="name" title="Name"/>
<input type="button" name="click">Press</input>
</form>
Controller funktioniert. Wenn ich eine Antwort mit meiner Eingabe oder einem Testtext ausgeben möchte - alles funktioniert und ich bekomme Text in der Erfolgsalarmbox.
Ich habe verschiedene Möglichkeiten ausprobiert und sah fast alle Antworten für ähnliche Probleme.
ich gelöscht datatype versucht haben, versucht, es zu Text zu ändern versucht content, fügte ein Objekt, um Daten zu entfernen, wie in vielen Antworten Menschen geraten, es mit einfachen Werten wie getestet {‘ Name ': John} usw., versucht, eine sehr einfache Form mit einer Eingabe und Text-Feld zu machen. Nichts half.
Frage:
beraten Sie gerne für dieses Problem oder ein kleines Beispiel mit meinem Code oder mit anderem ähnlichem Code mit möglicher Lösung für mein Problem?
Edit:
Wir haben eine sehr informative discussion, aber leider keine dieser Lösungen geholfen. Aber jetzt haben wir verstanden, dass in den anderen Browsern oder Rechnern alles gut funktioniert und das Problem ernster sein kann (in Konfigurationen usw.).
Sie können entfernen 'contentType:" application/json ",' –
Ich habe dies bereits versucht und entfernen Sie es immer noch nichts. –
'Methode: 'POST',' ---> 'Typ: 'post'' –