Javascript 变量通过 AJAX(GET 方法)到 PHP


Javascript Variable to PHP via AJAX (GET Method)

我正在尝试使用AJAX将Javascript变量传递给PHP文件。

我有下面的Javascript代码;

<script type="text/javascript">
var route_id = 'travelling-from'; //Route ID
$('#'+route_id).change(function(e) {
    //Grab the chosen value on route change
    var selectroute = $(this).val();
    $.ajax({
        type: "GET",
        url: 'ajax-getvalues.php',
        data: { selectroute : selectroute }
    });
});
</script>

在我的 ajax-getvalues .php 中,我有;

$selectroute = mysqli_real_escape_string($connection, $_GET['travelling-from']);

当我尝试使用$selectroute时,它似乎是空的。

我是否需要添加其他内容才能使其正常工作?还是我在某些时候出错了?

当我尝试使用$selectroute时,它似乎是空的

AJAX 请求将与查询字符串一起发送到ajax-getvalues.php

?selectroute=somevalue

在PHP中,您正在尝试获取名为travelling-from的参数的值,此参数在查询字符串中不存在。

您需要将selectroute更改为travelling-from

$.ajax({
    type: "GET",
    url: 'ajax-getvalues.php?travelling-from=' + encodeURIComponent(selectroute)
});

或者你更喜欢:

$.ajax({
    type: "GET",
    url: 'ajax-getvalues.php',
    data: {"travelling-from": encodeURIComponent(selectroute)}
});

这将生成查询字符串?travelling-from=somevalue现在可以使用$_GET['travelling-from']

在您的示例中,键应该是route_id而不是选择路由

<script type="text/javascript">
var route_id = 'travelling-from'; //Route ID
$('#'+route_id).change(function(e) { //Grab the chosen value on route change var selectroute = $(this).val();
var data = {};
data[route_id] = selectroute;
$.ajax({
                type: "GET",
                url: 'ajax-getvalues.php',
                data: data }
            }); </script>