node编写接口,请求有时无法返回数据,急求?

LuDongWei
  • 620

具体代码如下:

app.route("/linkShipments")  
    .get(function(req, res, next) {         
       var user = req.session.user,
           arg = url.parse(req.url, true).query;

         tool.factory.isRegister(user,res,function(){

              request.get({
                url: encodeURI(Default['wps-hosts'] + 'v1/shipments?' + 'partnerCode=' + Default['factory'] +'&languageCode'+ Default['language'] + '&filters=' + arg.filters + '&index=' + arg.index + '&limit=' + arg.limit + '&order=' + arg.order),
                json: true,
                headers: {
                  'X-wzy-credential': user.credentialHeader
                }
              }, function(e, r, body) {
              
                // 在这里每次都能接收到服务器传来的body内容。
                // 但是返回数据的时候前端有时候就接收不到数据了。

                if (r.statusCode == 200) {
                  res.jsonp({
                    succeed: true,
                    data: body
                  })
                } else {
                  res.jsonp({
                    succeed: false
                  })
                }
              })

         })

    })
    

具体的请求图片如下图

clipboard.png

clipboard.png

出现的问题反映:

  1. 后端给我的数据每次都能接收到,但是用res.jsonp返回数据的时候会出现有时候数据的无法返回,刷新几次又有了,非常奇怪。求解。

回复
阅读 2.8k
1 个回答

把res.json换成res.jsonp。
如果你不需要跨域的话

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏