将简单的javascript变量传递到php文件
我想把一个简单的javascript变量传递给另一个php文件,它是laravel中的一个控制器文件 例如:下面是我的laravel的blade.php文件中的代码将简单的javascript变量传递到php文件,javascript,php,json,ajax,laravel-5,Javascript,Php,Json,Ajax,Laravel 5,我想把一个简单的javascript变量传递给另一个php文件,它是laravel中的一个控制器文件 例如:下面是我的laravel的blade.php文件中的代码 <script> function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else {
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert('Geolocation is not supported by this browser.');
}
}
function showPosition(position) {
var latitude = position.coords.latitude;
var longitude =position.coords.longitude;
var dataString = 'latitude'+latitude+'longitude'+longitude;
$.ajax({
type: "POST",
url: "PagesController.php",
data: dataString
});
}
getLocation();
</script>
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
警报('此浏览器不支持地理位置');
}
}
功能显示位置(位置){
变量纬度=位置坐标纬度;
var经度=position.coords.longitude;
var数据字符串='纬度'+纬度+'经度'+经度;
$.ajax({
类型:“POST”,
url:“PagesController.php”,
数据:dataString
});
}
getLocation();
由于纬度和经度不是表单值,那么如何在名为laravel的PagesController.php的控制器文件中捕获这些值。您可以尝试这种方法
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert('Geolocation is not supported by this browser.');
}
}
function showPosition(position) {
var latitude = position.coords.latitude;
var longitude =position.coords.longitude;
var dataString = 'latitude'+latitude+'longitude'+longitude;
$.ajax({
type: "POST",
url: "PagesController.php",
data: dataString
});
}
getLocation();
</script>
$.ajax({
type: "POST",
url: "PagesController.php",
data: {latitude: latitude, longitude: longitude},
});
和在PagesController.php上
$latitude = $_REQUEST['latitude'];
$longitude = $_REQUEST['longitude'];
表单值提交只是通过http请求发送格式化数据。您还可以使用javascript来实现这一点(jQuery使之更容易) 设置将在服务器上接受变量的php文件。php文件应如下所示: 文件:
calculations.php
(您可以随意命名)
计算完成后,将执行存储在success
字段中的函数,php文件中的任何回显都将存储在javascript中的result
变量中
进一步阅读:是的,可以用AJAX/Json来完成。data:{“data”:dataString}应该是语法,而不是简单地用$\u POST['data']在目标页面上访问它它向我显示了一条错误消息“undefined index latitude and longitude”。@Amarja在将纬度和经度的值发送到ajax以测试它是否有错误之前,尝试发出警报value@Amarja你能更新你的定义吗?从你如何生成纬度和经度开始,这样我就可以分析它了:)我已经更新了详细的更改信息。我给你的代码对我有用。我现在测试它。我可以得到php部分的纬度和经度。这是我的密码和密码
$.ajax({url: 'calculations.php', data:{dataString:dataString} type:'POST', success: function(result){
console.log(result); // will output the $result
}});