并非所有使用$ http.post angularjs发送的数据

时间:2015-01-31 20:04:21

标签: javascript angularjs

为什么每当我从我的移动应用程序(Ionic Framework)向我的服务器发送数据时,并不是所有数据都被发送?

$http({
                method: 'POST',
                url: 'http://remoteserver/data',
                headers: {'Content-Type': 'application/x-www-form-urlencoded'},
                transformRequest: function(obj) {
                    var str = [];
                    for(var p in obj)
                    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
                    return str.join("&");
                },
                data: { image: $scope.imgURI,
                        facebook_id: localStorage.facebook_id,
                        token: localStorage.accessToken,
                        location: localStorage.location,
                        lon: localStorage.longitude,
                        lat: localStorage.latitude
                      }
            }).success(function (suc)
            {
                localStorage.removeItem('longitude');
                localStorage.removeItem('latitude');
                localStorage.removeItem('location');
                alert(JSON.stringify(suc));
            })
            .error(function(err){alert(JSON.stringify(err));});

服务器收到location之后未定义。事实上,我提醒它检查它是否为空。我怎样才能解决这个问题?在发送到我的服务器的所有数据中,只有该位置丢失。位置是纬度和经度的反向地理编码。我只是将它放在我的手机中,以减少过度使用Google API,因为它是基于每个会话的。

在我的服务器上(使用laravel)我使用

获取发送的数据
$post->lon = Input::get('lon');
$post->lat = Input::get('lat');
$post->location = Input::get('location');
$post->token= Input::get('token');
$post->facebook_id = Input::get('facebook_id');

当我尝试return Input::all();时,我看到除了位置之外的所有已发送数据。它说未定义。问题是,我可以获取一次该位置,在我再次尝试之后,它返回undefined。

0 个答案:

没有答案