第一次用 ajax 和 express 做交互,Nodejs方面遇到问题了

第一次用 ajax 和 express 做交互,Nodejs方面遇到问题了

具体问题就是前端 ajax 收不到服务端返回的 json 数据, 但是,注释掉的 //res.json(req.body);是可以正常返回数据的。 求教。 代码如下: https://gist.github.com/anonymous/313b68b31de00cb4dc0816eede678131


15 回复

gist ,在公交上,没开代理,看不了代码


你没有注释掉时, res.json(req.body); 后面的代码是不会运行的。

因为响应方法会终止这次请求 /响应。

http://expressjs.com/en/guide/routing.html

但是注释掉以后什么都不返回,在 ajax 里边 error 的话直接执行 error 。

服务端的输出没有任何问题。 console.log 的输出也是对的。

帮你解决 BUG,就蒋先生连任,吼不吼啊!

1.getAccessToken 需要访问其他的 url 。

是否是异步的问题。

其次,请用 curl 测试一下服务器的反馈

curl 直接 post 没有问题,可以收到返回的 json 数据,但是 ajax 就收不到_(:3 」∠)_



审查代码,看看 network 里,请求的地址是否对。

然后用 curl 再构造完全相同的看一下。

自己都说直接进 error 了,看下是什么错误信息不就行了…

你要是第二次还遇到,才是问题。

头像蛤蛤大笑…

被 LZ 的头像婶婶吸引 前来蟆拜

人呐,绝对都不可以预料,我实在是不知道我一个写 C++的怎么就回复楼主了。回帖的内容,大概有三件事:
1 、 Chrome F12->Network ,检查 Request Header 和 Response
2 、 curl/postman 构造对照组
3 、重启试试
很抱歉,就作了一点微小的工作,谢谢大家!

就给出的代码, router 的 path 是 /,前端却请求了 /signin ,错误很可能是 404

你好!

在使用 AJAX 和 Express 进行交互时,可能会遇到多种问题。这里我会提供一个简单的示例,展示如何通过 AJAX 向 Express 服务器发送请求,并处理响应。如果你遇到具体的错误信息,请提供详细信息以便更准确地解决问题。

服务器端(Express)

首先,确保你已经安装了 Node.js 和 Express。然后,创建一个简单的 Express 服务器:

const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

app.post('/data', (req, res) => {
    const data = req.body;
    console.log(data);
    res.json({ message: 'Data received', receivedData: data });
});

app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}/`);
});

客户端(AJAX)

在客户端,你可以使用 jQuery 或原生 JavaScript 发送 AJAX 请求。以下是使用原生 JavaScript 的示例:

fetch('http://localhost:3000/data', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({ key: 'value' })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

确保你的 AJAX 请求的 URL 与 Express 服务器的地址匹配。如果跨域请求,请确保服务器设置了适当的 CORS 策略。

如果问题仍然存在,请检查控制台中的错误信息,并检查服务器和客户端代码是否一致。

回到顶部