GET 请求不起作用,但 POST 请求正在用于数据库查询

     2023-02-22     113

关键词:

【中文标题】GET 请求不起作用,但 POST 请求正在用于数据库查询【英文标题】:GET Request not working but POST request is working for database query 【发布时间】:2021-12-21 12:55:21 【问题描述】:

我使用 Express 作为后端,但由于某种原因,我的 GET 请求无法查询 Postgres 数据库。我很确定我应该使用 GET 请求来查询数据库,但似乎无法让它工作。我收到以下错误。

SyntaxError: Unexpected token < in JSON at position 0

这是 GET 请求的代码

const express = require("express");
const router = express.Router();
const pool = require("./db");

router.get("/", async (req, res, next) => 
  pool.connect((err, client, done) => 
    if (err) throw err;
    client.query("SELECT * FROM pledges", (err, ress) => 
      done();
      if (err) 
        console.log(err.stack);
       else 
        console.log(ress.rows[0]);
        res.json(ress.rows.reverse());
      
    );
  );

);

但是,如果我将其更改为 POST 请求,我会得到正确的查询并返回整个表。我做错了什么?

const express = require("express");
const router = express.Router();
const pool = require("./db");

router.post("/", async (req, res, next) => 
  pool.connect((err, client, done) => 
    if (err) throw err;
    client.query("SELECT * FROM pledges", (err, ress) => 
      done();
      if (err) 
        console.log(err.stack);
       else 
        console.log(ress.rows[0]);
        res.json(ress.rows.reverse());
      
    );
  );

);

这是我的 FETCH

  useEffect(() => 
fetch("/pledges")
  .then((response) => response.json())
  .then((data) => 
    console.log(data);
    setPledges(data);
  )
  .catch((error) => );
  , []);

使用 POST 请求获取

  useEffect(() => 
fetch("/pledges", 
  method: "POST",
)
  .then((response) => response.json())
  .then((data) => 
    setPledges(data);
  )
  .catch((error) => );
  , []);

【问题讨论】:

【参考方案1】:

服务器返回的可能不是 JSON,而是带有“

fetch(url, 
  method: "GET",
  headers: 
    "Content-Type": "application/json"
  
)

【讨论】:

我的 post route 不起作用,postman 认为是 GET 请求

】我的postroute不起作用,postman认为是GET请求【英文标题】:Mypostroutedoesn\'twork,postmanthinksitisGETrequest【发布时间】:2022-01-0601:33:40【问题描述】:我有我的资源路由,它适用于GET,但它不适用于post方法Route::resource(\'cart\',CartControll... 查看详情

发布请求在 Laravel 中不起作用

】发布请求在Laravel中不起作用【英文标题】:PostrequestnotworkinginLaravel【发布时间】:2018-10-0602:57:57【问题描述】:我是Laravel的新手,正在尝试做一个简单的post请求,但它不起作用。重定向到/o2后显示objectnotfound。有人可以解释... 查看详情

AFNetworking Post 请求不起作用

】AFNetworkingPost请求不起作用【英文标题】:AFNetworkingPostrequestnotworking【发布时间】:2013-09-0409:24:22【问题描述】:我在向.netwebservice方法发出POST请求时遇到问题。我已经提出了很多帖子请求,但我似乎没有得到我在这里面临的... 查看详情

AFNetworking POST 请求不起作用?

】AFNetworkingPOST请求不起作用?【英文标题】:AFNetworkingPOSTRequestnotworking?【发布时间】:2014-10-1412:50:29【问题描述】:这个问题已经在很多地方得到了回答,但没有任何解决方案对我有用!我正在使用AFNetworking的代码如下AFHTTPRequ... 查看详情

简单的 Javascript http 请求片段但不起作用

】简单的Javascripthttp请求片段但不起作用【英文标题】:SimpleJavascripthttprequestsnippetbutnotwork【发布时间】:2013-09-1615:50:13【问题描述】:部分教程修改代码如下:xmlhttp=newXMLHttpRequest();varurl="get_data.pl";xmlhttp.open("POST",url,true);xmlhttp.se... 查看详情

邮递员的简单删除请求不起作用

】邮递员的简单删除请求不起作用【英文标题】:SimpledeleterequestwithPostmannotworking【发布时间】:2021-12-0410:51:40【问题描述】:使用node.js、express、mongodb和mongoose创建一个简单的电话簿应用程序。Get和Post请求工作正常,Post请求存... 查看详情

Laravel 5 GET 正在工作,但 POST 方法不起作用

】Laravel5GET正在工作,但POST方法不起作用【英文标题】:Laravel5GETisworkingbutPOSTmethodisnotworking【发布时间】:2016-09-0409:49:13【问题描述】:我是Laravel的新手,遇到了一个奇怪的问题。在路由中,我通过POST和GET方法调用函数。GET返... 查看详情

发布请求不起作用 Laravel 5

】发布请求不起作用Laravel5【英文标题】:postrequestnotworkingLaravel5【发布时间】:2015-11-1319:01:45【问题描述】:我正在尝试使用post方法提交表单,但它似乎不起作用。我启用了错误调试,但仍然没有显示错误。提交表单后,加载... 查看详情

“DELETE”类型的 Http 请求在 WebAPI 中不起作用?

】“DELETE”类型的Http请求在WebAPI中不起作用?【英文标题】:The"DELETE"typeofHttprequestdoesnotworkinWebAPI?【发布时间】:2013-05-1205:04:47【问题描述】:我的WebAPI项目中有GET、PUT、POST工作。我正在做的最后一个Http请求是DELeTE,... 查看详情

NSURLConnection 发送 GET 请求而不是 POST 请求

】NSURLConnection发送GET请求而不是POST请求【英文标题】:NSURLConnectionsendsGETrequestinsteadofPOSTrequest【发布时间】:2013-06-2719:18:25【问题描述】:我正在尝试使用NSURLConnection发出POST请求。我用Charles调试,Charles每次都说方法是GET。我已... 查看详情

将文本框内容回显到 POST 请求中不起作用

】将文本框内容回显到POST请求中不起作用【英文标题】:EchoingtextboxcontentintoPOSTrequestnotworking【发布时间】:2013-04-2808:10:03【问题描述】:我正在尝试从“mcname”($custom)中获取文本框内容并将其发布到“item_name”中,但是它没... 查看详情

Axios POST 请求不起作用

】AxiosPOST请求不起作用【英文标题】:AxiosPOSTrequestnotworking【发布时间】:2018-12-2500:52:03【问题描述】:我知道有很多关于相同问题的问题,但没有一个解决方案对我有用。我有一个使用Lumen内置API的ReactJS应用程序。该API也被Reac... 查看详情

Volley JsonObjectRequest Post 请求不起作用

】VolleyJsonObjectRequestPost请求不起作用【英文标题】:VolleyJsonObjectRequestPostrequestnotworking【发布时间】:2013-11-1905:01:30【问题描述】:我正在使用androidVolley发出请求。所以我使用这个代码。我不明白一件事。我在我的服务器中检查... 查看详情

CORS 正在阻止 PUT、DELETE 和 POST 请求,但 GET 正在工作

】CORS正在阻止PUT、DELETE和POST请求,但GET正在工作【英文标题】:CORSisblockingPUT,DELETE,andPOSTrequestsbutGETisworking【发布时间】:2021-11-1919:24:27【问题描述】:我很茫然。我正在尝试配置CORS,并且我已经尝试了几乎所有可以在互联网/... 查看详情

Nodejs(express)正在运行但请求不起作用

】Nodejs(express)正在运行但请求不起作用【英文标题】:Nodejs(express)runningbutrequestsnotworking【发布时间】:2019-10-2405:30:34【问题描述】:我运行我的项目后端“server.js”(快递)。它工作正常,没有任何问题。但是我从Postman或其... 查看详情

AngularJS:POST请求返回302后发送的GET请求用于登录

】AngularJS:POST请求返回302后发送的GET请求用于登录【英文标题】:AngularJS:GETrequestsentafterPOSTrequestreturnedwith302forlogin【发布时间】:2016-08-2715:14:08【问题描述】:我正在实现一个登录页面以进行身份​​验证。AngularJS使用用户凭... 查看详情

http中get和post请求的作用和区别

1.get:请求URL标志的文档获取信息而非修改信息,get请求一般不产生副作用 post向服务器发送数据具体区别有:1>get是从服务器上获取资源,post是想服务器传送数据(get也可以把数据传到服务器,他们的本质都是请求和接收结果)2>... 查看详情

Mocha Chai HTTP 发布请求不起作用

】MochaChaiHTTP发布请求不起作用【英文标题】:MochaChaiHTTPpostrequestnotworking【发布时间】:2016-06-0419:38:38【问题描述】:以下测试不适用于mocha-chai,它能够获取输入请求但抛出错误消息。it(\'/hb:\',function(done)returnchai.request(app).post(\'... 查看详情