Này các cậu !
Tôi đang viết một công cụ tìm kiếm công thức và tôi gặp khó khăn khi gửi dữ liệu giữa máy khách và máy chủ vì trước đây tôi không làm việc nhiều với phần phụ trợ (tôi là người mới bắt đầu viết mã).
Về phía khách hàng, tôi yêu cầu người dùng chọn danh mục mà anh ấy muốn công thức (ví dụ: gà).
Sau đó, lựa chọn được lưu trong biến và được gửi đến máy chủ. Đó là tất cả làm việc đúng.
Sau đó, trên máy chủ, tôi muốn chuyển danh mục tới Lệnh gọi API, thực hiện Cuộc gọi và gửi dữ liệu trở lại máy khách để tôi có thể hiển thị các công thức nấu ăn trên trang, tôi phải làm như thế nào? Đây là một số mã:
PHÍA KHÁCH HÀNG:
function getRecipes(category){
const categorySearch = category.alt;
let data = {
categoryChoice: categorySearch
}
let options = {
method: 'POST',
headers: {
"Content-type": "application/json; charset=UTF-8"
},
body: JSON.stringify(data)
}
const promise = fetch('/data', options);
promise.then(response => {
if(!response.ok){
console.error(response)
} else {
return response.json();
}
}).then(result => {
console.log(result);
})
}
PHÍA MÁY CHỦ
app.post('/data', async (request, response) => {
const data = await request.body;
const gotData = data.categoryChoice;
const category = gotData;
console.log(category);
response.json(category);
return category
})
app.get('/data', async (request, response) => {
const cat = await category;
const url = `https://edamam-recipe-search.p.rapidapi.com/search?q=${cat}&from=0&to=100`
const fetch_response = await fetch(url);
const json = await fetch_response.json();
response.json(json);
})
phần app.get không ghi nhật ký hoặc cung cấp cho tôi bất cứ thứ gì vì vậy tôi không nghĩ rằng nó thậm chí còn hoạt động
Cảm ơn trước
Pawel
1 lượt thích
Của bạn app.post
nên trông giống như thế này:
app.post('/data', async (request, response) => {
const data = await request.body;
const gotData = data.categoryChoice;
const category = gotData;
console.log(category);
const url = `https://edamam-recipe-search.p.rapidapi.com/search?q=${category}&from=0&to=100`
const fetch_response = await fetch(url);
const json = await fetch_response.json();
response.json(json);
})
Ngoài ra tại sao rất nhiều await
S?