2015-11-23 16:34:18 3717次浏览 2条回答 0 悬赏 50 金钱

我在view层使用angularjs的$http.post提交数据到服务器,服务器处理数据后把数据上传到一个叫个推的第三方服务器,在第三方处理完成后,再返回数据给view结果无法接收到数据,这个是什么原因导致的啊?求大神们解答

最佳答案

  • koko 发布于 2015-11-23 16:36 举报

    手动提交,确定你的第三方服务器有返回数据先。

    8 条回复
    回复于 2015-11-23 16:49 回复

    我使用\Yii::waring()记下了第三方服务器的返回值,是有的

    回复于 2015-11-23 16:51 回复

    那就调试你的页面是否接收到了数据,然后是否正确处理了数据。

    回复于 2015-11-23 16:53 回复
    $rep = $push->pushMessageToSingle($clientId,json_encode($results));
    \Yii::warning($rep);
    return ['status' => true, 'id' => $weixin->_id];
    
    回复于 2015-11-23 16:53 回复

    $rep = $push->pushMessageToSingle($clientId,json_encode($results));这个就是请求了第三方, \Yii::warning($rep);这个是由正确返回值

    回复于 2015-11-23 16:54 回复

    但是在return的接收的一方直接跑到error里面去了

    回复于 2015-11-23 16:55 回复
    $http.post(app.base + '/confirm', $scope.model)
            .success(function(data) {
              spinner.hide();
              $scope.loading = false;
              $scope.showSuccess = true;
      
              storage.set('name', $scope.model.name);
              storage.set('mobile', $scope.model.mobile);
              storage.set('address', $scope.model.address);
              
              storage.push('orders', data.id);
            })
            .error(function(err) {
            alert(JSON.stringify(err));
              spinner.hide();
              $scope.loading = false;
            });
    
    回复于 2015-11-23 16:58 回复

    你的具体业务逻辑我不清楚,但知道问题在哪,你就拆分到最小单位去调试,问题出在哪自然一目了然。

    回复于 2015-11-24 09:14 回复

    貌似是angularjs的$http.post提交导致的,原因在那还不知道,不过换成jquery的ajax提交是ok的

  • 回答于 2015-11-24 17:41 举报

    angularjs的$http服务不太好用,传值的方式和ajax不一样。我用nodejs也是在req.body里面偶尔获取不到

    php在获取值的时候要这么用$res = file_get_contents('php://input','r');

您需要登录后才可以回答。登录 | 立即注册
心雨
主管

心雨

注册时间:2015-07-23
最后登录:2020-03-31
在线时长:20小时35分
  • 粉丝5
  • 金钱175
  • 威望20
  • 积分575

热门问题