私はPHPとMySQLを使用していくつかのコンテンツを交換しています。 クリックハンドラは、AJAXリクエストをPHPスクリプトに送信してクエリを実行し、その結果をエンコードしてJSONオブジェクトとして出力します。 個々の値をJavaScript変数に設定する場合と同じように、結果を実際に使用する方法を考えることができません。JQuery AJAXリクエストからJSONレスポンスを使用するにはどうすればよいですか?
編集:コンソールに印刷するための特定の値を得るために、私が試したことをいくつか追加しました。
編集:正しい構文が見つかりました:
response[0].foo
のjavascript:
var listId = $(this).children('.hidden-id').html();
var options = new Object();
options.data = listId;
options.dataType = 'json';
options.type = 'POST';
options.success = function(response) {
console.log(response[0].foo);
};
options.url = './inc/change_list.php';
$.ajax(options);
PHPスクリプト:
$list_id = $_POST['list_id'];
$q = "SELECT id, title, description, position FROM items WHERE list_id=$list_id ORDER BY position ASC";
$r = mysqli_query($dbc, $q);
if (mysqli_num_rows($r) > 0) {
$result = array();
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$add_result = [
'id' => $row['id'],
'title' => $row['title'],
'description' => $row['description']
];
$result[] = $add_result;
}
$result = json_encode($result);
echo $result;
} else {
echo '{"result":"failure"}';
}
はあなたの問題は、リンクされた答えはあなたの配列を反復処理して作業する必要がある – charlietfl
オブジェクトと配列で作業する方法についての良いチュートリアルを提供してそうしているのかについて、より多くの特定する必要がありますあなたの反復の各オブジェクトインスタンス – charlietfl
したがって、forループを使用してください。 –