传递一个简单的javascript变量到php文件

Passing a simple javascript variable to php file

本文关键字:javascript 变量 文件 php 简单 一个      更新时间:2023-09-26

我想传递一个简单的javascript变量到另一个php文件,它是laravel中的一个控制器文件。

例如:下面是我的laravel的blade.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>

由于纬度和经度不是表单值,那么我如何在laravel的控制器文件PagesController.php中捕获这些值。

你可以试试这个方法

$.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(你可以给它取任何你想要的名字)

<?php
$dataString = $_POST['dataString'];
// your calculations here
echo $result;
?>

然后使用jQuery向php文件发出ajax请求,并将变量传递给php文件。

$.ajax({url: 'calculations.php', data:{dataString:dataString} type:'POST', success: function(result){
   console.log(result); // will output the $result 
}});

计算完成后,存储在success字段中的函数将被执行,您在php文件中返回的任何内容将存储在javascript的result变量中。

进一步阅读:jQuery Ajax