Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 带前端的Node js api如何添加书籍_Node.js_Api_Frontend - Fatal编程技术网

Node.js 带前端的Node js api如何添加书籍

Node.js 带前端的Node js api如何添加书籍,node.js,api,frontend,Node.js,Api,Frontend,我用一个数据库制作了一个api来存储书籍,我可以像这样在前端获取书籍 async function getBooks() { try { const response = await fetch("https://node-api-with-books.herokuapp.com/books"); return await response.json(); // console.log(books) } catch (error) {

我用一个数据库制作了一个api来存储书籍,我可以像这样在前端获取书籍

async function getBooks() {
  try {
     const response = await fetch("https://node-api-with-books.herokuapp.com/books");
    return await response.json();
    // console.log(books)
  } catch (error) {
    console.log("Error", error);
  }
}

getBooks().then(book => {
   console.log(book);
});

但是我想考虑如何将一本书添加到api中,如果我正确地理解了这一点,并且假设您将api配置为接受Post请求,那么您所要做的就是向后端api发送Post请求

异步函数addBook(bookData){
试一试{
const response=等待获取(“https://node-api-with-books.herokuapp.com/books", {
方法:“POST”,
标题:{
“内容类型”:“应用程序/json”,
},
正文:JSON.stringify(bookData),
});
返回response.json();
}捕获(错误){
console.log(“错误”,Error);
}
}
在后端,您将使用中间件解析请求,然后可以从req.body获取数据


谢谢,它很有效,但当我添加了一个长作者而没有标题时,它给了我一个应用程序错误。你知道为什么吗?你会遇到什么样的错误?可能有一些原因,例如
作者
标题
都是数据库中的必填字段,可能作者对作者字符数有一些限制。在本地主机上尝试或检查Heroku logsIt上的错误,这只是给了我Heroku应用程序错误,我认为这不是必需的,因为我输入的作者和标题都是空的,如果没有太多信息,很难判断,Heroku应用程序错误通常是5xx服务器错误,如果您没有以正确的方式处理错误,那么最好使用
Heroku logs--tail检查日志中的错误,或者如果您的应用程序在本地,那么您可以尝试模仿行为,然后在终端上检查错误