dongtuo2373
2015-03-11 16:41 浏览 61

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

I am trying to pass a Javascript variable to a PHP file using AJAX.

I have the below Javascript code;

<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>

In my ajax-getvalues.php, I have;

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

When I try to use $selectroute, it seems to be empty.

Do I need to add something else in order for this to work? Or have I gone wrong at some point?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    dqbr37828 dqbr37828 2015-03-11 16:46

    When I try to use $selectroute, it seems to be empty

    The AJAX request will be sent to ajax-getvalues.php with the query string:

    ?selectroute=somevalue
    

    In PHP you are trying the get the value of a parameter called travelling-from, this parameter does not exist in the query string.

    You need to change selectroute to travelling-from

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

    Or of you prefer:

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

    This produces the query string ?travelling-from=somevalue which can now be accessed with $_GET['travelling-from']

    点赞 评论 复制链接分享
  • douba9776 douba9776 2015-03-11 16:52

    In your example the key should be route_id instead of selectroute

    <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>
    
    点赞 评论 复制链接分享

相关推荐