こんにちは、配列を返すphpコードがあります。私はajaxの成功関数でこの配列を使用できるようにしたいのですが、これをどのように行うのかわかりません。私は以下を試しましたが、運はありません。
pHPコード:
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
exit($arr);
jsコード:
$.ajax({
type: "POST",
url: "/returndetails.php",
data: 'id=' + userid,
success: function (data) {
document.getElementById("name").innerHTML = data[0];
document.getElementById("age").innerHTML = data[1];
document.getElementById("location").innerHTML = data[2];
}
});
サーバーからJSONとしてデータを返す必要があります。
[〜#〜] php [〜#〜]
$arr = array();
$arr[0] = "Mark Reed";
$arr[1] = "34";
$arr[2] = "Australia";
echo json_encode($arr);
exit();
[〜#〜] js [〜#〜]
$.ajax({
type: "POST",
url: "/returndetails.php",
data: 'id=' + userid,
dataType: "json", // Set the data type so jQuery can parse it for you
success: function (data) {
document.getElementById("name").innerHTML = data[0];
document.getElementById("age").innerHTML = data[1];
document.getElementById("location").innerHTML = data[2];
}
});
小さな間違い:
しない:exit($arr);
置換:echo json_encode($arr);
問題があります。例えば_data[0]
_と_data[1]
_を表示したい場合、文字列の文字のように見えます。 header("Content-Type: application/json");
を適用する前にecho json_encode($arr)
を追加することを解決します
ここに解決策があります
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
header("Content-Type: application/json");
echo json_encode($arr);
exit();
の代わりに
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
exit($arr);