第一次用 ajax 和 express 做交互就遇到问题了

2016-05-04 18:42:40 +08:00
 LostMoonkin

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

3750 次点击
所在节点    Node.js
14 条回复
RryLee
2016-05-04 18:53:10 +08:00
gist ,在公交上,没开代理,看不了代码
4641585
2016-05-04 18:53:36 +08:00
你没有注释掉时, res.json(req.body); 后面的代码是不会运行的。

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

http://expressjs.com/en/guide/routing.html
LostMoonkin
2016-05-04 18:57:00 +08:00
@4641585 但是注释掉以后什么都不返回,在 ajax 里边 error 的话直接执行 error 。
LostMoonkin
2016-05-04 18:58:32 +08:00
服务端的输出没有任何问题。 console.log 的输出也是对的。
w88975
2016-05-04 19:03:23 +08:00
帮你解决 BUG,就蒋先生连任,吼不吼啊!
jarlyyn
2016-05-04 19:04:10 +08:00
1.getAccessToken 需要访问其他的 url 。

是否是异步的问题。

其次,请用 curl 测试一下服务器的反馈
LostMoonkin
2016-05-04 19:13:18 +08:00
@jarlyyn curl 直接 post 没有问题,可以收到返回的 json 数据,但是 ajax 就收不到_(:3 」∠)_
jarlyyn
2016-05-04 19:18:22 +08:00
@LostMoonkin

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

然后用 curl 再构造完全相同的看一下。
Niphor
2016-05-04 19:30:12 +08:00
自己都说直接进 error 了,看下是什么错误信息不就行了...
qinyang
2016-05-04 19:57:44 +08:00
你要是第二次还遇到,才是问题。
oreo
2016-05-04 20:23:15 +08:00
头像蛤蛤大笑...
pagict
2016-05-04 20:28:19 +08:00
被 LZ 的头像婶婶吸引 前来蟆拜
mrsatangel
2016-05-04 20:45:46 +08:00
人呐,绝对都不可以预料,我实在是不知道我一个写 C++的怎么就回复楼主了。回帖的内容,大概有三件事:
1 、 Chrome F12->Network ,检查 Request Header 和 Response
2 、 curl/postman 构造对照组
3 、重启试试
很抱歉,就作了一点微小的工作,谢谢大家!
lujjjh
2016-05-04 20:49:42 +08:00
就给出的代码, router 的 path 是 /,前端却请求了 /signin ,错误很可能是 404

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/276335

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX