これについて多くの質問があることがわかりましたが、私のケースに当てはまるような詳細は見つかりませんでした。json配列を返すAJAX呼び出しが未定義
私はSQLデータベースからajax呼び出しにデータを渡すphpファイルでデータを取得しようとしています。すべてがうまく動作しているようですが、コンソールにデータを出力しようとすると、data.storyなどの配列の正確な部分にアクセスしようとしても、変数は "未定義"になります。私もdata [0] .storyを試しましたが、undefinedの 'story'フィールドにはアクセスできないというエラーが表示されました。 コードは次のとおりです。
あなたの助けを借りてくれてありがとう。
私のPHPファイル:
<?php
$con = mysqli_connect('localhost','root','password','db');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
$array = array();
$sqlFetch = "SELECT s.storyTitle, s.story, s.lattitude, s.longitude,
u.nickname, u.platformUsed, u.sexuality, u.gender, u.age, s.category,
s.dateRecorded FROM stories AS s INNER JOIN users AS u ON u.email = s.email
WHERE s.postStatus != 'published'";
$result = mysqli_query($con,$sqlFetch);
if(!is_null($result->num_rows)){
$encode = array();
while($row = mysqli_fetch_assoc($result)) {
$encode[] = $row;
}
echo json_encode($encode);
}
?>
とAjaxコード:
$.ajax({
type: 'post',
url: "http://localhost/wordpress/wp-content/themes/TinDA/js/loadData.php",
dataType: 'json',
data: "",
}).done(function(data){
console.log(data);
//tried also: console.log(data.story); and data[0].story;
});
あなたのPHPスクリプトでprint_r($ encode)を試みましたか? – Giovani