Apa perbedaan aktual antara res.send
dan res.json
karena keduanya tampaknya melakukan operasi yang sama dalam merespons klien.
200
Apa perbedaan aktual antara res.send
dan res.json
karena keduanya tampaknya melakukan operasi yang sama dalam merespons klien.
Jawaban:
Metode identik ketika suatu objek atau array dilewatkan, tetapi
res.json()
juga akan mengkonversi non-objek, sepertinull
danundefined
, yang tidak valid JSON.Metode ini juga menggunakan pengaturan
json replacer
danjson spaces
aplikasi, sehingga Anda dapat memformat JSON dengan lebih banyak opsi. Opsi-opsi itu diatur seperti ini:Dan diteruskan ke
JSON.stringify()
seperti:Ini adalah kode dalam
res.json()
metode yang tidak dimiliki metode kirim:Metode ini berakhir sebagai
res.send()
pada akhirnya:sumber
https://github.com/visionmedia/express/blob/ee228f7aea6448cf85cc052697f8d831dce785d5/lib/response.js#L174
res.json
akhirnya meneleponres.send
, tetapi sebelum itu:json spaces
danjson replacer
aplikasisumber
Mencari di header yang dikirim ...
res.send menggunakan tipe-konten: teks / html
res.json menggunakan tipe-konten: application / json
sumber
res.json
memaksa argumen ke JSON.res.send
akan mengambil objek atau array non-json dan mengirim tipe lain. Sebagai contoh:Ini akan mengembalikan nomor JSON.
Ini akan mengembalikan kode status dan mengeluarkan peringatan untuk menggunakan sendStatus.
Jika argumen Anda bukan objek atau array JSON (null, undefined, boolean, string), dan Anda ingin memastikannya dikirim sebagai JSON, gunakan
res.json
.sumber