获取php cordova中的javascript变量
嗨,我尝试使用cordova获取用户的地理位置。经度和纬度应该在php中获取,cookies应该使用这些值创建。但是当我在我的设备上启动应用程序时,会显示一个空白的白色屏幕。如何使用php正确获取javascript变量获取php cordova中的javascript变量,javascript,php,cordova,Javascript,Php,Cordova,嗨,我尝试使用cordova获取用户的地理位置。经度和纬度应该在php中获取,cookies应该使用这些值创建。但是当我在我的设备上启动应用程序时,会显示一个空白的白色屏幕。如何使用php正确获取javascript变量 // Wait for device API libraries to load // document.addEventListener("deviceready", onDeviceReady, false); // device APIs
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
}
// onSuccess Geolocation
//
function onSuccess(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
window.location.href = "http://".$_SERVER['HTTP_HOST']."/loc/www/login.php?latitude=" + latitude;
window.location.href = "http://".$_SERVER['HTTP_HOST']."/loc/www/login.php?longitude=" + longitude;
}
// onError Callback receives a PositionError object
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
<?php
$latitude = $_GET["latitude"];
$longitude = $_GET["longitude"];
$t = time() + 60 * 60 * 24 * 1000;
setcookie("latitude", $latitude, $t);
setcookie("longitude", $longitude, $t);
?>
//等待设备API库加载
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//设备API可用
//
函数ondevicerady(){
navigator.geolocation.getCurrentPosition(onSuccess,onError);
}
//成功地理定位
//
成功时的功能(位置){
纬度=位置坐标纬度;
经度=position.coords.longitude;
window.location.href=“http://.”$\u服务器['http\u主机].“/loc/www/login.php?latitude=“+latitude;
window.location.href=“http://.”$\u服务器['http\u主机'].“/loc/www/login.php?longide=“+longide;
}
//OneError回调接收PositionError对象
//
函数onError(错误){
警报('code:'+error.code+'\n'+
'消息:'+error.message+'\n');
}
您将PHP变量与javascript组合,请修复此问题:
window.location.href = "http://<?php echo $_SERVER['HTTP_HOST'] ?>/loc/www/login.php?latitude=" + latitude;
window.location.href=”http:///loc/www/login.php?latitude=“+纬度;
您先前更改了位置,然后再次尝试更改,这将不起作用:
window.location.href = "http://<?php echo $_SERVER['HTTP_HOST'] ?>/loc/www/login.php?longitude=" + longitude;
window.location.href=”http:///loc/www/login.php?longitude=“+经度;
为什么不尝试创建一个API供cordova应用程序使用,在cordova就绪时将位置发送到Web服务?您可以将纬度和经度这两个值发送到服务器,并在本地保留这些值 你必须向服务器投递邮件。从代码中,您试图访问$_GET[“latitude”],但它们是在页面加载后由javascript设置的。现在,我在获取2个变量时出错。注意:未定义的索引:经度…错误是正确的,您正在尝试将首先呈现页面的服务器端和在服务器端之后执行的客户端组合在一起,当它获取纬度值时,将始终重定向,而不会获取逻辑度值。这就是我建议您创建web服务的原因,请检查cordova文档方法。