Cara mengirim data json ke halaman html di node js

Silakan temukan kode di bawah ini. Jenis konten tidak ada

$.ajax({
    url: 'http://localhost:3000/test/config',
    type: 'POST',
    dataType: 'json',
    contentType: 'application/json',
    data: JSON.stringify({
      o: testJson
    }),
    // crossDomain: true,
    success: function (data) {
      alert('Success!')
    },
    error: function (jqXHR, textStatus, err) {
      //show error message
      alert('text status ' + textStatus + ', err ' + err)
    }
  });

Rute

app.post('/test/config', function (req, res) {
  console.log(req.body.o);
})
_

Saat Anda ingin menyimpan data antara server restart dengan Node, file JSON adalah pilihan yang sederhana dan nyaman. Apakah Anda sedang membaca file konfigurasi atau menyimpan data untuk aplikasi Anda, Node memiliki beberapa utilitas bawaan yang memudahkan untuk membaca dan menulis file JSON. Menggunakan file JSON di aplikasi Anda bisa menjadi cara yang berguna untuk mempertahankan data. Kami akan melihat beberapa metode berbeda untuk bekerja dengan file JSON

Dalam tutorial ini kita akan

  • Baca data JSON dari disk
  • Pelajari cara menggunakan modul
    const config = require("./config.json");
    
    _4 untuk berinteraksi dengan sistem file
  • Pertahankan data ke file JSON
  • Gunakan
    const config = require("./config.json");
    
    _5 dan
    const config = require("./config.json");
    
    6 untuk mengonversi data ke dan dari format JSON

Di akhir tutorial ini, Anda akan dapat bekerja dengan file JSON menggunakan modul

const config = require("./config.json");
4 bawaan Node

Sasaran

Katakanlah Anda memiliki pelanggan. file json disimpan ke disk yang menyimpan catatan untuk pelanggan di toko Anda

Sebagai bagian dari aplikasi toko Anda, Anda ingin mengakses alamat pelanggan, lalu memperbarui jumlah pesanan setelah pesanan dilakukan

Dalam tutorial ini, kita akan melihat cara membaca dan menulis ke pelanggan kita. file json

{
  "name": "Mega Corp.",
  "order_count": 83,
  "address": "Infinity Loop Drive"
}
_

Prasyarat

Jam tangan. Baca/Tulis File JSON

Berinteraksi dengan file dengan fs

Mengakses file di Node dilakukan dengan modul fs asli, yang memberi Anda fungsi untuk menonton, membaca, dan menulis file bersama dengan banyak alat lain untuk bekerja dengan sistem file. Karena ini adalah modul asli, kami dapat memintanya dalam kode kami tanpa menginstalnya. Hubungi saja

const config = require("./config.json");
_8

Modul

const config = require("./config.json");
_4 memberi kita opsi versi sinkron atau asinkron dari banyak fungsinya. Versi sinkron memblokir eksekusi kode lain hingga selesai mengakses sistem file, membaca, atau menulis data. Fungsi async akan berjalan tanpa memblokir kode lain. Pelajari lebih lanjut perilaku sinkronisasi/async

Perilaku sinkron ini dapat berguna di beberapa tempat, seperti saat startup saat membaca file konfigurasi sebelum kode lain dijalankan, tetapi menjadi masalah besar saat digunakan di server web tempat semua permintaan yang masuk akan diblokir saat pembacaan file sinkron sedang berjalan. Untuk alasan ini, Anda biasanya ingin menggunakan versi asinkron dari fungsi

const config = require("./config.json");
4 dalam kode Anda. Kami akan fokus pada operasi asinkron, tetapi juga akan menampilkan persamaan sinkron

Untuk membaca dan menulis file secara asinkron dengan

const config = require("./config.json");
4 kita akan menggunakan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
2 dan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
3

Kami juga akan menggunakan pembantu JSON global untuk mengonversi objek menjadi string JSON, dan string JSON menjadi objek

Baca file JSON

Cara paling sederhana untuk membaca file JSON adalah dengan memintanya. Meneruskan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
4 dengan jalur ke file JSON akan secara sinkron membaca dan mengurai data ke dalam objek JavaScript

const config = require("./config.json");

Tetapi membaca file JSON dengan kebutuhan memiliki kelemahan. File hanya akan dibaca sekali; . Ini bagus untuk memuat data statis saat startup (seperti data konfigurasi). Tapi untuk membaca file yang berubah di disk, seperti pelanggan kami. json mungkin, kita perlu membaca file secara manual menggunakan asinkron

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
2

Baca file dengan const fs = require("fs"); fs.readFile("./customer.json", "utf8", (err, jsonString) => { if (err) { console.log("File read failed:", err); return; } console.log("File data:", jsonString); }); _2

Untuk mengakses alamat pelanggan, kita perlu

  • Baca data JSON dari file
  • Parsing string JSON menjadi objek JavaScript

Untuk memuat data dari pelanggan. json, kami akan menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
_2, meneruskannya ke jalur ke file kami, jenis penyandian opsional, dan panggilan balik untuk menerima data file

Jika file berhasil dibaca, isinya akan diteruskan ke callback

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
  • /pelanggan. json adalah jalur relatif ke file
    const fs = require("fs");
    fs.readFile("./customer.json", "utf8", (err, jsonString) => {
      if (err) {
        console.log("File read failed:", err);
        return;
      }
      console.log("File data:", jsonString);
    });
    
    8 adalah parameter opsional untuk penyandian file yang sedang kita baca, ini dapat diabaikan. Jika tidak ditentukan, fungsi akan mengembalikan ________11______9 alih-alih
    const fs = require("fs");
    fs.readFile("./customer.json", "utf8", (err, jsonString) => {
      if (err) {
        console.log("Error reading file from disk:", err);
        return;
      }
      try {
        const customer = JSON.parse(jsonString);
        console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
      } catch (err) {
        console.log("Error parsing JSON string:", err);
      }
    });
    
    0
  • const fs = require("fs");
    fs.readFile("./customer.json", "utf8", (err, jsonString) => {
      if (err) {
        console.log("Error reading file from disk:", err);
        return;
      }
      try {
        const customer = JSON.parse(jsonString);
        console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
      } catch (err) {
        console.log("Error parsing JSON string:", err);
      }
    });
    
    1 adalah fungsi panggilan balik yang dijalankan setelah file dibaca

Sekarang kita memiliki isi file sebagai string JSON, tetapi kita perlu mengubah string menjadi sebuah objek

Sebelum kita dapat menggunakan data dari callback dalam kode kita, kita harus mengubahnya menjadi objek.

const config = require("./config.json");
5 mengambil data JSON sebagai input dan mengembalikan objek JavaScript baru. Jika tidak, kami hanya akan memiliki serangkaian data dengan properti yang tidak dapat kami akses

const config = require("./config.json");
5 dapat memunculkan kesalahan pengecualian dan merusak program kami jika melewati string JSON yang tidak valid. Untuk mencegah mogok, kami membungkus JSON. parse dalam pernyataan coba tangkap untuk menangkap kesalahan apa pun dengan anggun

Contoh ini menunjukkan membaca dan mem-parsing file JSON

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});

Menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
_4 dari membaca pelanggan. json, kami membuat objek, dan dapat mengakses properti alamat. Jika
const config = require("./config.json");
5 melempar kesalahan, kami menanganinya di blok
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
6

Sekarang kami memiliki representasi objek dari data di pelanggan kami. file json

Kami juga dapat membaca file secara sinkron menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
7. Alih-alih menerima panggilan balik,
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
_8 mengembalikan konten file setelah membaca file

try {
  // Note that jsonString will be a  since we did not specify an
  // encoding type for the file. But it'll still work because JSON.parse() will
  // use .toString().
  const jsonString = fs.readFileSync("./customer.json");
  const customer = JSON.parse(jsonString);
} catch (err) {
  console.log(err);
  return;
}
console.log(customer.address); // => "Infinity Loop Drive"

Kita dapat menggunakan pengetahuan ini untuk membuat fungsi pembantu yang dapat digunakan kembali untuk membaca dan mengurai file JSON. Di sini kita membuat fungsi bernama

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
_9 yang akan membaca dan mengurai file JSON untuk kita. Dibutuhkan jalur ke file dan panggilan balik untuk menerima objek yang diuraikan dan kesalahan apa pun. Itu akan menangkap kesalahan apa pun yang dilemparkan oleh
const config = require("./config.json");
5 untuk kami

const fs = require("fs");

function jsonReader(filePath, cb) {
  fs.readFile(filePath, (err, fileData) => {
    if (err) {
      return cb && cb(err);
    }
    try {
      const object = JSON.parse(fileData);
      return cb && cb(null, object);
    } catch (err) {
      return cb && cb(err);
    }
  });
}
jsonReader("./customer.json", (err, customer) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log(customer.address); // => "Infinity Loop Drive"
});

Catatan tentang penyandian file

Baik

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
7 dan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
2 menggunakan argumen opsional
try {
  // Note that jsonString will be a  since we did not specify an
  // encoding type for the file. But it'll still work because JSON.parse() will
  // use .toString().
  const jsonString = fs.readFileSync("./customer.json");
  const customer = JSON.parse(jsonString);
} catch (err) {
  console.log(err);
  return;
}
console.log(customer.address); // => "Infinity Loop Drive"
3. Jika Anda menentukan pengkodean karakter, Anda akan mendapatkan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("Error reading file from disk:", err);
    return;
  }
  try {
    const customer = JSON.parse(jsonString);
    console.log("Customer address is:", customer.address); // => "Customer address is: Infinity Loop Drive"
  } catch (err) {
    console.log("Error parsing JSON string:", err);
  }
});
0 sebagai gantinya. Jika Anda tidak menentukan pengkodean karakter, kedua fungsi akan mengembalikan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
9

Ini karena Node tidak, dan tidak bisa, menganggap konten seperti apa yang ada di dalam file. Bahkan jika Anda bisa. Untuk mengatasi kurangnya definisi ini, Node akan membaca byte file untuk byte dan mengembalikannya sebagai buffer yang tidak diinginkan yang dapat Anda proses sesuai keinginan

Jika Anda mengetahui konten file, dan dapat memberikan detail tersebut ke Node dalam bentuk argumen

try {
  // Note that jsonString will be a  since we did not specify an
  // encoding type for the file. But it'll still work because JSON.parse() will
  // use .toString().
  const jsonString = fs.readFileSync("./customer.json");
  const customer = JSON.parse(jsonString);
} catch (err) {
  console.log(err);
  return;
}
console.log(customer.address); // => "Infinity Loop Drive"
3, kode tersebut umumnya membuat kode lebih berkinerja dan lebih mudah dipahami

Menulis JSON ke sistem file mirip dengan membacanya. Kami akan menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
_3 untuk menulis data secara asinkron ke Pelanggan baru. file json

Pertama, untuk menulis data ke file JSON, kita harus membuat string data JSON dengan

const config = require("./config.json");
6. Ini mengembalikan representasi string JSON dari objek JavaScript, yang dapat ditulis ke file. Mirip dengan mem-parsing data menjadi objek saat membaca file, kita harus mengubah data kita menjadi string untuk dapat menulisnya ke file

Buat objek pelanggan dengan data kami di bawah ini, dan ubah menjadi string

const customer = {
  name: "Newbie Corp.",
  order_count: 0,
  address: "Po Box City"
};
const jsonString = JSON.stringify(customer);
console.log(jsonString);
// => "{"name":"Newbie Co.","address":"Po Box City","order_count":0}"

Catatan. Jika Anda mencoba menulis objek ke file tanpa merangkainya, file Anda akan kosong dan terlihat seperti ini

[object, object]

Setelah data dirangkai, kita dapat menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
3 untuk membuat file pelanggan baru. Kami melewati
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
3 jalur file, data pelanggan kami untuk ditulis, dan panggilan balik yang akan dijalankan setelah file ditulis. Jika Pelanggan baru. file json belum ada, itu akan dibuat;

Berikut adalah contoh penulisan file JSON dengan const fs = require("fs"); fs.readFile("./customer.json", "utf8", (err, jsonString) => { if (err) { console.log("File read failed:", err); return; } console.log("File data:", jsonString); }); 3

const fs = require('fs')
const customer = {
    name: "Newbie Co.",
    order_count: 0,
    address: "Po Box City",
}
const jsonString = JSON.stringify(customer)fs.writeFile('./newCustomer.json', jsonString, err => {
    if (err) {
        console.log('Error writing file', err)
    } else {
        console.log('Successfully wrote file')
    }
})

Dan itu saja. Setelah panggilan balik berjalan, file telah ditulis ke disk. Catatan. kami hanya melewati objek kesalahan; . Kami juga dapat menulis file secara sinkron dengan cara yang sama menggunakan

const fs = require("fs");

function jsonReader(filePath, cb) {
  fs.readFile(filePath, (err, fileData) => {
    if (err) {
      return cb && cb(err);
    }
    try {
      const object = JSON.parse(fileData);
      return cb && cb(null, object);
    } catch (err) {
      return cb && cb(err);
    }
  });
}
jsonReader("./customer.json", (err, customer) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log(customer.address); // => "Infinity Loop Drive"
});
3

const jsonString = JSON.stringify(customer)fs.writeFileSync('./newCustomer.json', jsonString)

Setelah file Anda selesai ditulis, akan terlihat seperti ini

const config = require("./config.json");
0

Merangkai secara default menempatkan semua data Anda dalam satu baris. Opsional, Anda dapat membuat file keluaran dapat dibaca manusia dengan meneruskan jumlah spasi untuk diindentasi ke

const config = require("./config.json");
6

const config = require("./config.json");
1

Di atas, kami memberi tahu stringify untuk mengindentasi data dengan 2 spasi. Sekarang file keluaran Anda akan terlihat seperti ini

const config = require("./config.json");
2

Perbarui file JSON

Sekarang kita dapat membaca dan menulis file pelanggan kita, kita dapat menggunakannya sebagai database sederhana. Jika kita ingin mengupdate data dalam file JSON, kita dapat membaca isinya, mengubah data, dan kemudian menulis data baru kembali ke file

const config = require("./config.json");
_3

Jelas bukan database paling efisien yang dapat Anda pilih, tetapi bekerja dengan file JSON seperti ini adalah cara sederhana untuk mempertahankan data dalam proyek Anda

Rekap

JSON adalah salah satu jenis data paling umum yang akan Anda kerjakan di Node, dan kemampuan membaca dan menulis file JSON sangat berguna. Anda telah mempelajari cara menggunakan

const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
_2 dan
const fs = require("fs");
fs.readFile("./customer.json", "utf8", (err, jsonString) => {
  if (err) {
    console.log("File read failed:", err);
    return;
  }
  console.log("File data:", jsonString);
});
3 untuk bekerja secara asinkron dengan sistem file, serta cara mengurai data ke dan dari format JSON, dan menangkap kesalahan dari
const config = require("./config.json");
5

Anda dapat menggunakan persyaratan untuk membaca file JSON saat memulai untuk mengurai file JSON secara sinkron dalam satu baris. Dan sekarang Anda dapat menggunakan file JSON sederhana sebagai penyimpanan data

Jika Anda ingin mempelajari lebih lanjut, Anda dapat membaca tentang apa sebenarnya JSON itu, dan mengetahui lebih lanjut tentang kode sinkron vs asinkron

Bagaimana cara menampilkan data JSON dalam HTML menggunakan node JS?

Baca/Tulis File JSON dengan Node. .
Baca data JSON dari disk
Pelajari cara menggunakan modul fs untuk berinteraksi dengan sistem file
Pertahankan data ke file JSON
Gunakan JSON. mengurai dan JSON. stringify untuk mengonversi data ke dan dari format JSON

Bagaimana cara memasukkan data JSON ke halaman HTML saya?

Kode jQuery menggunakan metode getJSON() untuk mengambil data dari lokasi file menggunakan permintaan HTTP GET AJAX . Dibutuhkan dua argumen. Salah satunya adalah lokasi file JSON dan yang lainnya adalah fungsi yang berisi data JSON. Fungsi each() digunakan untuk mengiterasi semua objek dalam array.

Bagaimana cara mengirim data dari node js ke halaman HTML?

Render file HTML di Node. .
Langkah 1. Instal Ekspres. Buat folder baru dan inisialisasi proyek Node baru menggunakan perintah berikut. .
Langkah 2. Menggunakan fungsi sendFile(). .
Langkah 3. Render HTML dalam Express. .
Langkah 4. Render HTML Dinamis menggunakan mesin template

Bagaimana cara mengirim data JSON dari node js?

Mari kita lihat penerapan langkah demi langkah. .
Impor modul HTTP dengan kata kunci wajib di bagian atas aplikasi. .
Sekarang panggil fungsi createServer() , itu akan memberi Anda server web sebagai gantinya. .
Sekarang panggil fungsi listen() dengan memberikan nomor port, nama host, dan fungsi callback