Rumah > Soal Jawab > teks badan
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粉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