Я работаю над простым ресторанным веб-приложением, которое использует базу данных mon go -db для хранения пунктов меню. Моя проблема в том, что у меня есть клиентский файл js, который будет использовать функцию маршрутизации, которая затем обращается к базе данных, чтобы вернуть все пункты меню определенного ресторана. Моя проблема в том, что моя конечная точка для URL не распознается:
Клиент. js
function readMenu(rest){
(async () => {
// const newURL = url + "/menus/"+rest
const resp = await fetch(url+"/menus/"+rest)
const j = await resp.json();
itemlist = j["items"]
var element = document.getElementById("menu")
var i;
for (i = 0; i < itemlist.length; i++) {
var para = document.createElement("p")
item = itemList[i]
text = item["name"]+" | "+item["cost"]+" | "+item["descr"] +"<br>";
var node = document.createTextNode(text)
para.appendChild(node)
element.appendChild(para)
}
})
}
Server-routing.ts (Routings):
this.router.get("/menus", this.getResturants.bind(this))
this.router.post("/menus", this.addResturaunt.bind(this))
this.router.get("/menus/:rest", this.getResturauntItems.bind(this))
this.router.delete("/menus/:rest",this.deleteResturaunt.bind(this))
this.router.get("/menus/:rest/:item",[this.errorHandler.bind(this),this.getItem.bind(this)])
this.router.post("/menus/:rest",this.addItem.bind(this))
this.router.delete("/menus/:rest/:item",this.deleteItem.bind(this))
Server-routing.ts (функция):
public async getResturauntItems(request, response) : Promise<void> {
console.log("Getting Restaurant Items")
let rest = request.params.rest
let obj = await this.theDatabase.getResturauntItems(rest)
console.log(obj)
response.status(201).send(JSON.stringify(obj))
response.end()
}
Итак, что должно произойти, если кнопка вызывает readMenu (), то она делает GET-запрос на выборку localhost: 8080 / api / menus / и затем пункты меню из коллекции должны быть возвращены. Проблема в том, что когда я нажимаю кнопку, ничего не происходит. Я знаю, что он не перенаправляется на какую-то другую функцию, поскольку все они имеют "console.log ()", чтобы отслеживать их, и ни одна из них не была вызвана. Я использовал инструмент «осмотреть», чтобы увидеть, был ли запрос отправлен или получен где-нибудь и ничего. Я не уверен, в чем проблема. Если кто-то может помочь, это будет очень ценно.