javascript - php mysqli fetch_all() は正常に json を返しますが、フロントエンドの ajax は json を取得できません。
淡淡烟草味
淡淡烟草味 2017-05-16 13:11:56
0
1
934

php コード

<?php
//「db_connect.php」をインクルードします。
$db = new MySQLi("localhost", "root", "password", "paginate");
$db->set_charset('utf8mb4');

header('Content-type: application/json;charset=utf-8');

$total = 0; //テーブルデータの総行数
$per_page = 6; // ページあたりの行数
$current_page = 1; // 現在表示されているページは何ですか?
$total_pages = 0; // 総ページ数

// 現在のページ番号を取得します
if (!empty($_GET['current_page'])) {
  $current_page = $_GET['current_page'];
}

// テーブルデータの総行数を取得します
$query1 = 'ユーザーからカウント(*)を選択';
$row1 = $db->query($query1);
if ($row1 && $rowd = $row1->fetch_row()) {
  $total = $rowd[0];
}

// 総ページ数を取得する
$total_pages = ceil($total / $per_page);

// ページング
$pre = ($current_page - 1) * $per_page;
$query2 = "ユーザー制限 $pre,$per_page から * を選択";
$rows = $db->query($query2);

$arr = [];
if($rows) {
  $arr = $rows->fetch_all(MYSQLI_ASSOC);
}
$ページネーション = [
  '合計' => $total、
  'ページごと' => ページごとの $、
  'current_page' => $current_page,
  'total_pages' => $total_pages
];

array_push($arr, $pagination);
echo json_encode($arr, true);

郵便配達員のスクリーンショット:

js コード:

 window.onload = function () {
        getData(1);
    }

    関数 addURLParam(url, 名前, 値) {
        URL += (url.indexOf("?") == -1 ? "?" : "&");
        URL += encodeURIComponent(名前) + "= + encodeURIComponent(値);
        URLを返します;
    }
    
    関数 getData(ページ) {
        var data = document.getElementById("データ");

        var xhr = 新しい XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                var jsonText = xhr.responseText;
                console.log(JSON.parse(jsonText));
            }
        }
        var url = "paginate.php";
        url = addURLParam(url, "current_page", "page");
        xhr.open("get", url, true);
        xhr.send();
    }

Chrome コンソールの前のデータベースにコンテンツがありません

そうあるべき

$query2 = "ユーザー制限 $pre,$per_page から * を選択";
$rows = $db->query($query2);

$arr = [];
if($rows) {
  $arr = $rows->fetch_all(MYSQLI_ASSOC);
}

($rows) を追加する前にエラーが発生するため、ここでの SQL に問題があります。しかし、php のバージョンが 7.0.8 であることに非常に驚きました。
class="img-wrap ">

淡淡烟草味
淡淡烟草味

全員に返信(1)
巴扎黑

jsがaddURLParam()にパラメータを正しく渡さないのが問題です

リーリー

に変更されました リーリー

とても恥ずかしいことに、質問を投稿した後にこのバグを発見し、一度編集して修正しましたが、学校が停電し、コンピューターの電源が切れたため、テストすることができませんでした。 。 。 。 。 。


しかし、重要な点は、addURLParam メソッドを最後に追加したということです。これは直接であることが判明しました。 リーリー

addURLParam() は、高度な JS プログラミングのメソッドです。

と書かれています。

GET リクエストを使用するときによく発生するエラーは、クエリ文字列の形式に問題があることです。クエリ文字列内の各パラメータの名前と値は、URL の末尾に配置する前に encodeURIComponent() を使用してエンコードする必要があります

理由を知っている友達はこの点に答えることができます、私が最初に検索します〜

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート