cari

Rumah  >  Soal Jawab  >  teks badan

Pertanyaan SQL tidak muncul dalam laluan tertentu dalam Node.js

Saya baru dalam javascript dan nodejs dan saya ada soalan

Saya mempunyai kod yang sedang saya kerjakan dalam API mudah tetapi saya sukar memahami sebab perkara ini berlaku

app.get('/api/list_all', (req, res) => {
    get_info(`SELECT * FROM users;`, function(result){
        res.json(result);
    });
});

Saya mempunyai laluan ini yang menyenaraikan semua pengguna localhost mysql pada skrin. Sambungan berfungsi dengan baik tetapi apabila saya memasuki laluan ia mengembalikan skrin kosong dengan "[]" (senarai kosong)

Halaman konsol dan html tidak menunjukkan sebarang ralat

Tetapi apabila saya hanya menukar laluan "list_all" tanpa bahagian "api", semuanya berjalan lancar. Seperti ini:

app.get('/list_all', (req, res) => {
    get_info(`SELECT * FROM users;`, function(result){
        res.json(result);
    });
});

Ia mengembalikan respons SQL kepada saya.

Persoalannya ialah: Mengapa ia tidak berfungsi apabila saya menyediakan "api" pada laluan?

Fungsi "get_info":

function get_info(sql_data, callback){

    con.getConnection((error, conn) => {
        if (error) { throw error; }
        conn.query(
            sql_data,
            (error, resultado) => {
                conn.release();
                if (error) { throw error; }
                return callback(resultado)
            }
        )
    })
}

Saya mahu laluan "api/list_all" untuk mengembalikan hasil SQL untuk semua pengguna seperti biasa.

P粉770375450P粉770375450234 hari yang lalu469

membalas semua(1)saya akan balas

  • P粉038161873

    P粉0381618732024-04-04 09:33:11

    Anda mungkin telah mengimport kod yang salah ke dalam fail pelayan utama anda

    Jika kod yang ditunjukkan di atas adalah dalam fail yang berbeza daripada fail server anda, anda harus menambah baris app.use('/api/list_all',imported_route) ; dalam server.js dan menukar kod kepada

    app.get('/', (req, res) => {
        get_info(`SELECT * FROM users;`, function(result){
            res.json(result);
        });
       });

    Lihat soalan sebelumnya untuk mendapatkan bantuan lanjut Penghalaan tidak menggunakan API Node.js dan Express.js

    balas
    0
  • Batalbalas