Ich bin ziemlich neu beim Posten auf StackOverflow, also hoffe ich, dass mein Beitrag den richtigen Kriterien folgt, wenn ich mich nicht entschuldige. Ich werde versuchen, meine Frage und Erklärung meines Problems so kurz wie möglich zu halten.Wie kann ich die Ajax "POST" -Methode von der Rückgabe einer leeren Datenkette lösen?
Ich versuche, ein Eingabefeld zu erstellen, das es dem Benutzer ermöglicht, den About-Abschnitt in seinem Profil zu aktualisieren, damit andere Benutzer ihn sehen können. Ich habe ähnliche Beiträge angeschaut, aber keine von ihnen hatte wirklich Lösungen, die meinem Problem entsprachen, was ich finden konnte.
Ich verwende ein Formular mit einer POST-Methode, die ein ausgeblendetes Feld enthält, das den Wert der Benutzer-ID enthält, und speichert die Zeichenfolge aus dem Eingabefeld. Ich verwende eine Onclick-Funktion, die der Schaltfläche mit der id = "post"
zugeordnet ist, die eine Ajax-Anforderung aufruft, die den Wert der Eingabe in einer Variablen speichert, die als var text
bekannt ist, die ich dann in einer Datenbank mit der userId und dem Kommentar speichern möchte. Die Konsole gab jedoch "eine leere Zeichenfolge" zurück (Bild ganz unten). Ich bin mir nicht sicher, wie ich es herausfinden soll, da ich immer noch sehr neu in Ajax bin und ich versuche so viel wie möglich zu lernen.
myAccount.php
<h2>About</h2>
<form method='POST' id="postForm">
<input type='hidden' name='posterId' value="<?php echo $user['userId']?>">
<input name="post" id='post' value="">
<br/>
<br/>
<button type="button" onclick='setComment()' name='submit'>Post it</button>
</form>
main.js
function setComment() {
var text = $("#post").val();
$.ajax({
type: 'POST',
url: 'setAbout.php',
data: {'text': text},
success: function(data) {
console.log(data);
}
});
}
Hinweis: Wenn Sie eine Lösung fügen Sie bitte eine Erklärung, warum schreiben Sie nahm dieser bestimmte Ansatz seit ich hier bin o lernen. Vielen Dank!
, weil Sie nichts zurückgeben. Sie können etwas wie 'echo json_encode ($ result)' haben – guradio
Sie reichen nicht die 'posterId' und [Exploits einer Mutter] (https://xkcd.com/327/)/[Bobby Tables - Ein Leitfaden für Verhindern der SQL-Injektion] (http://bobby-tables.com/) – Andreas
@Andreas Wie soll die 'real_escape_string()' verwendet werden. Ich hatte immer den Eindruck, dass Sie den $ _POST-Variablen entkommen sind. – jase