Ich möchte einige Daten aus einem Formular abrufen AJAX-Aufruf. Ich erhalte die Daten als String in meiner PHP-Seite. Die Zeichenfolge sieht wie folgt aus:Erhalten Sie JSON-Daten von AJAX-Aufruf an PHP-Seite über POST
'fname': 'abc', 'lname': 'xyz', 'email': '', 'pass': '', 'phone': '', 'gender': ' ‘, 'dob': ''
Jetzt möchte ich diese ganze Zeichenfolge in einem Array konvertieren, welche wie [ "fname"] => "abc" aussehen würde, [ "lname"] => "xyz". .. und so weiter
Der ajax-Aufruf wie unten:
fname = $("#form-fname").val();
lname = $("#form-lname").val();
email = $("#form-username").val();
pwd = $("#form-password").val();
phone = $("#form-phone").val();
gender = $("#form-gender").val();
dob = $("#form-dob").val();
var user = {"fname":fname,"lname":lname,"email":email,"pass":pwd,"phone":phone,"gender":gender,"dob":dob};
$.ajax({
type: "POST",
url: "doRegistration.php",
data: user
})
.done(function(msg) {
window.location.href = "../profile.php";
})
.fail(function(msg) {
sessionStorage.setItem("success","0");
window.location.reload();
});
und hier ist mein PHP-Code:
$content = file_get_contents("php://input");
file_put_contents("log1.txt",$content); //This produces the string I get above
Jetzt versuche ich, wie oben
$dec = explode(",",$content);
$dec1 = array();
for($i=0;$i<count($dec);$i++)
{
$dec1[i] = substr($dec[i],strpos($dec[i],":"));
}
//After this $dec1 is empty and count($dec1) gives 0.
die Zeichenfolge in einem Array zu konvertieren Aber das gibt mir nicht die erforderliche Array. Ich habe hier einige Antworten überprüft, aber sie lösen mein Problem nicht. Ich habe versucht zu googeln, fand aber keine Lösung. Ist im Code etwas nicht in Ordnung? Freundlich helfen. Danke im Voraus.
Split Ihre $ Dezember Werte von ‚:‘ dann von diesem Ergebnis die [0] Element Ihrer zugehörigen Array-Schlüssel ist, und die [1] ist Ihr assoicated Array-Wert. Dann json_encode das zugeordnete Array am Ende. – Taplar
@Taplar wenn ich es mit ':' teile, dann bekomme ich etwas wie ["fname"] -> "abc, lname", ["xyz, email"] -> "email" und so weiter ... – CoolJavaProgrammer
Du Teilen Sie $ content nicht durch ':'. Sie teilen jede $ dez-Zeichenfolge durch ":" Die gesamte Zeichenfolge besteht aus Name-Wert-Paaren, die durch Komma getrennt sind, und jedes Name-Wert-Paar wird durch einen Doppelpunkt getrennt. Sie müssen das also abwickeln, wobei das Komma der äußerste Separator ist und dann der Doppelpunkt der innere Separator für jeden dieser Token ist. – Taplar