AJAX呼び出しを行うフォームからデータを取得したい。私は私のPHPページで文字列としてデータを取得しています。文字列は、POST経由でPHPページへのajax呼び出しからJSONデータを取得
'fname'のようになります: 'abc'、 'lname': 'xyz'、 'email': ''、 'pass': ''、 'phone': ''、 'gender': ' 」、 '生年月日': '今、私は [ "FNAME"] => "ABC"、 [ "LNAME"] => "XYZ" のようになります。配列に、この文字列全体を変換したい
を'。 ...とそう
にAJAX呼び出しは、以下のようなものです:
: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();
});
そして、ここでは私のPHPコードです
$content = file_get_contents("php://input");
file_put_contents("log1.txt",$content); //This produces the string I get above
は今、私は
$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.
上記のように配列に文字列を変換しようとする。しかし、これは私に必要な配列を与えるものではありません。私はここでいくつかの答えをチェックしたが、私の問題は解決しない。私はGoogleにしようとしましたが、解決策は見つかりませんでした。コードに何か問題がありますか?親切に助けてください。前もって感謝します。
[:]で$ dec値を分割し、その結果から[0]要素が関連付けられた配列キーで、[1]があなたのアソシエートされた配列値です。次に、最後に配列に関連付けられたjson_encode。 – Taplar
@Taplar ':'を使用して分割すると、["fname"] - > "abc、lname"、["xyz、email"] - > "email"などのようになります... – CoolJavaProgrammer
':'で$ contentを分割しないでください。各$ dec文字列を ":"で分割します。文字列全体は、カンマで区切られた名前の値のペアと、コロンで区切られた各名前の値のペアで構成されます。したがって、あなたはそれを解く必要があります。カンマは最も外側の区切り文字です。そして、コロンは、それぞれのトークンの内側のセパレータです。 – Taplar