Làm cách nào để gửi phản hồi JSON bằng JavaScript?

Khi lưu trữ dữ liệu, dữ liệu phải ở một định dạng nhất định và bất kể bạn chọn lưu trữ ở đâu, văn bản luôn là một trong những định dạng hợp pháp

JSON cho phép lưu trữ các đối tượng JavaScript dưới dạng văn bản

Thí dụ

Lưu trữ dữ liệu trong bộ nhớ cục bộ

// Lưu trữ dữ liệu.
const myObj = {tên. "John", tuổi. 31, thành phố. "New York"};
const myJSON = JSON. stringify[myObj];
localStorage. setItem["testJSON", myJSON];

// Lấy dữ liệu.
let text = localStorage. getItem["testJSON"];
let obj = JSON. phân tích cú pháp [văn bản];
tài liệu. getElementById["bản trình diễn"]. bên trongHTML = obj. tên;

Tự mình thử »

ngoại lệ

Chuỗi ngày

Trong JSON, các đối tượng ngày không được phép. Hàm JSON.stringify[] sẽ chuyển đổi bất kỳ ngày nào thành chuỗi

Thí dụ

const obj = {tên. "John", hôm nay. Ngày mới [], thành phố. "New York"};
const myJSON = JSON. stringify[obj];

Tự mình thử »

Bạn có thể chuyển đổi chuỗi trở lại thành đối tượng ngày ở người nhận

Chuỗi chức năng

Trong JSON, các hàm không được phép làm giá trị đối tượng

Hàm JSON.stringify[] sẽ xóa mọi hàm khỏi đối tượng JavaScript, cả khóa và giá trị

Thí dụ

const obj = {tên. "John", tuổi. hàm [] {return 30;}, thành phố. "New York"};
const myJSON = JSON. stringify[obj];

Tự mình thử »

Điều này có thể được bỏ qua nếu bạn chuyển đổi hàm của mình thành chuỗi trước khi chạy hàm JSON.stringify[]

Thí dụ

const obj = {tên. "John", tuổi. hàm [] {return 30;}, thành phố. "New York"};
obj. tuổi = obj. tuổi. toString[];
const myJSON = JSON. stringify[obj];

Tự mình thử »

Nếu bạn gửi các hàm bằng JSON, các hàm sẽ mất phạm vi của chúng và người nhận sẽ phải sử dụng eval[] để chuyển đổi chúng trở lại thành các hàm

Giao thức truyền siêu văn bản là giao thức truyền dữ liệu giữa hai máy tính được sử dụng để truyền dữ liệu giữa máy khách HTTP [trình duyệt hoặc ứng dụng di động] và máy chủ. HTTP được xây dựng xung quanh các thông báo gọi là "yêu cầu" và "phản hồi". Các thiết bị giao tiếp với nhau bằng cách gửi yêu cầu HTTP và nhận phản hồi HTTP. Tất cả các ngôn ngữ lập trình hiện đại đều hỗ trợ HTTP

JSON là gì?

Ký hiệu đối tượng JavaScript [JSON] là một định dạng trao đổi dữ liệu nhẹ, dựa trên văn bản, không phụ thuộc vào ngôn ngữ. JSON xác định một tập hợp nhỏ các quy tắc định dạng để biểu diễn di động dữ liệu có cấu trúc. JSON có thể đại diện cho bốn kiểu nguyên thủy [chuỗi, số, giá trị boolean và null] và hai kiểu có cấu trúc [đối tượng và mảng]. JSON được sử dụng để trao đổi dữ liệu giữa các ứng dụng được viết bằng nhiều ngôn ngữ lập trình, bao gồm JavaScript, Java, C ++, C #, Go, PHP, Python và nhiều ngôn ngữ khác

Làm cách nào để gửi dữ liệu ở định dạng JSON?

Bạn có thể gửi dữ liệu JSON đến máy chủ trong phần thân của yêu cầu HTTP và trả về dữ liệu JSON từ máy chủ trong phần thân của thông báo phản hồi HTTP. Trong cả hai trường hợp, bạn phải chỉ định rõ ràng loại dữ liệu trong phần nội dung của thông báo HTTP bằng cách sử dụng Loại nội dung. tiêu đề ứng dụng/json [ứng dụng/json là Loại MIME chính thức cho JSON]. Tiêu đề Loại nội dung chính xác cho phép máy chủ diễn giải chính xác dữ liệu trong yêu cầu của máy khách và sẽ cho phép máy khách diễn giải chính xác dữ liệu trong phản hồi của máy chủ. Cung cấp tiêu đề Độ dài nội dung là tùy chọn. Nếu bạn không biết kích thước của dữ liệu JSON, bạn có thể sử dụng mã hóa chuyển khối cho phản hồi của mình

Cú pháp tiêu đề kiểu nội dung

Content-Type: application/json


Ví dụ phản hồi JSON

Sau đây là một ví dụ về phản hồi JSON khi tìm nạp dữ liệu từ ReqBin echo URL

Ví dụ phản hồi JSON

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 19

{"success":"true"}


Xem thêm

  • Làm cách nào để đăng JSON lên máy chủ?
  • Làm cách nào để yêu cầu JSON từ máy chủ?
  • Loại nội dung chính xác cho JSON là gì?

Tạo các đoạn mã cho JavaScript/AJAX và các ngôn ngữ lập trình khác

Chuyển đổi yêu cầu Phản hồi JSON của bạn sang PHP, JavaScript/AJAX, Curl/Bash, Python, Java, C#/. NET bằng cách sử dụng trình tạo mã JavaScript/AJAX

Các ví dụ và bài viết về API liên quan đến phản hồi JavaScript/AJAX JSON

Làm cách nào để sử dụng phân trang JSON?

Ký hiệu đối tượng JavaScript, thường được gọi là JSON, là định dạng trao đổi dữ liệu dựa trên văn bản. Trong hướng dẫn này, bạn sẽ học cách triển khai một Node đơn giản. js có thể trả về dữ liệu ở định dạng JSON dưới dạng phản hồi cho yêu cầu HTTP

Trước tiên chúng ta cần bắt đầu tạo một Node rất đơn giản. js bằng cách sử dụng Node. mô-đun js http. Do đó, chúng tôi tạo một máy chủ tệp mới và trống. js và bắt đầu bằng cách chèn các dòng mã sau

const http = require["http"];

const host = 'localhost';
const port = 8000;

const requestListener = function[req, res] {
  // Handling the incoming HTTP request
}

const server = http.createServer[requestListener];
server.listen[port, host, [] => {
    console.log[`Server is running on //${host}:${port}`];
}];

Trước tiên, chúng tôi đang nhập mô-đun http. Trong hai dòng mã tiếp theo, chúng tôi đang tạo các hằng giữ các giá trị cho máy chủ và cổng

Một phiên bản máy chủ được tạo bằng cách gọi phương thức http. createServer và chuyển vào hàm xử lý được gọi mỗi khi có yêu cầu mới đến. Máy chủ được bắt đầu bằng cách gọi máy chủ. lắng nghe trong bước tiếp theo. Phương thức lắng nghe đang mong đợi nhận được ba tham số. số cổng, tên máy chủ và chức năng gọi lại được gọi sau khi máy chủ được khởi động thành công

Hàm requestListener đã được triển khai bởi thân hàm vẫn trống. Đây là nơi chúng ta cần chèn mã cần thiết để trả về phản hồi JSON cho máy khách. Do đó, chức năng này đã nhận được hai đối số. req cho phép chúng tôi truy cập vào đối tượng yêu cầu và res cho phép chúng tôi truy cập vào đối tượng phản hồi

Thêm dữ liệu JSON

Tiếp theo, chúng ta cần thêm dữ liệu JSON mà máy chủ sẽ trả về máy khách. Do đó, hãy thêm đoạn mã sau vào mã

...
const data = {
    "name": "John",
    "age": 34,
    "hobby": {
	"reading" : true,
	"gaming" : false,
	"sport" : "baseball"
    },
    "class" : ["JavaScript", "HTML", "CSS"]
}
...

Tất nhiên, bạn có thể thay đổi hằng số dữ liệu này thành bất kỳ cấu trúc dữ liệu JSON nào khác mà bạn muốn gửi dưới dạng phản hồi

Trả lại dữ liệu JSON

Để trả về dữ liệu JSON, bây giờ chúng ta cần hoàn thành việc triển khai hàm requestListener

const requestListener = function[req, res] {
    res.setHeader["Content-Type", "application/json"];
    res.writeHead[200];
    res.end[JSON.stringify[data, null, 3]];
}

Để trả về dữ liệu JSON, độ phân giải. phương thức setHeader được sử dụng để đặt trường tiêu đề Kiểu nội dung của phản hồi thành giá trị application/json

Đối tượng dữ liệu JSON sau đó được trả về bằng cách sử dụng lệnh res. chức năng kết thúc. Để xuất nó dưới dạng một chuỗi được định dạng, JSON. phương pháp stringify được sử dụng

Bây giờ chúng tôi đã sẵn sàng để bắt đầu Node. js bằng cách sử dụng lệnh sau

$ node server.js

Nếu máy chủ được khởi động thành công, bạn sẽ nhận được thông báo xác nhận sau trên bảng điều khiển

Gửi yêu cầu HTTP GET bằng cách truy cập URL http. //máy chủ cục bộ. 8000 trong trình duyệt sẽ cung cấp dữ liệu JSON dưới dạng phản hồi như bạn có thể thấy trong ảnh chụp màn hình sau

Làm cách nào để trả về JSON trong phản hồi JavaScript?

Để trả về JSON từ máy chủ, bạn phải đưa dữ liệu JSON vào nội dung của thông báo phản hồi HTTP và cung cấp "Loại nội dung. application/json" tiêu đề phản hồi . Tiêu đề phản hồi Kiểu nội dung cho phép khách hàng diễn giải dữ liệu trong nội dung phản hồi một cách chính xác.

Làm cách nào để gửi JSON dưới dạng chuỗi trong JavaScript?

Sử dụng hàm JavaScript JSON. stringify[] để chuyển nó thành chuỗi . const myJSON = JSON. xâu chuỗi [obj]; .

JSON phản hồi [] trong JavaScript là gì?

json[] Phương thức json[] của giao diện Phản hồi nhận luồng Phản hồi và đọc đến khi hoàn thành . Nó trả về một lời hứa giải quyết với kết quả phân tích văn bản nội dung dưới dạng JSON.

Làm cách nào để gửi dữ liệu JSON trong yêu cầu HTTP?

2. 1. Tạo đối tượng URL. .
2. 2. Mở một kết nối. .
2. 3. Đặt phương thức yêu cầu. .
2. 4. Đặt tham số tiêu đề loại nội dung yêu cầu. .
2. 5. Đặt loại định dạng phản hồi. .
2. 6. Đảm bảo kết nối sẽ được sử dụng để gửi nội dung. .
2. 7. Tạo phần thân yêu cầu. .

Chủ Đề