V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LostMoonkin
V2EX  ›  Node.js

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

  •  
  •   LostMoonkin · 2016-05-04 18:42:40 +08:00 · 3906 次点击
    这是一个创建于 3126 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    14 条回复    2016-05-04 20:49:42 +08:00
    RryLee
        1
    RryLee  
       2016-05-04 18:53:10 +08:00 via iPhone
    gist ,在公交上,没开代理,看不了代码
    4641585
        2
    4641585  
       2016-05-04 18:53:36 +08:00
    你没有注释掉时, res.json(req.body); 后面的代码是不会运行的。

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

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

    是否是异步的问题。

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

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

    然后用 curl 再构造完全相同的看一下。
    Niphor
        9
    Niphor  
       2016-05-04 19:30:12 +08:00
    自己都说直接进 error 了,看下是什么错误信息不就行了...
    qinyang
        10
    qinyang  
       2016-05-04 19:57:44 +08:00
    你要是第二次还遇到,才是问题。
    oreo
        11
    oreo  
       2016-05-04 20:23:15 +08:00
    头像蛤蛤大笑...
    pagict
        12
    pagict  
       2016-05-04 20:28:19 +08:00
    被 LZ 的头像婶婶吸引 前来蟆拜
    mrsatangel
        13
    mrsatangel  
       2016-05-04 20:45:46 +08:00
    人呐,绝对都不可以预料,我实在是不知道我一个写 C++的怎么就回复楼主了。回帖的内容,大概有三件事:
    1 、 Chrome F12->Network ,检查 Request Header 和 Response
    2 、 curl/postman 构造对照组
    3 、重启试试
    很抱歉,就作了一点微小的工作,谢谢大家!
    lujjjh
        14
    lujjjh  
       2016-05-04 20:49:42 +08:00
    就给出的代码, router 的 path 是 /,前端却请求了 /signin ,错误很可能是 404
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2767 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:05 · PVG 08:05 · LAX 16:05 · JFK 19:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.