Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将简单的javascript变量传递到php文件_Javascript_Php_Json_Ajax_Laravel 5 - Fatal编程技术网

将简单的javascript变量传递到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 {

我想把一个简单的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>

函数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 
}});