为什么每当我从我的移动应用程序(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。