如何从我的php文件中使用GET来获取我在.js文件中声明的变量?

时间:2016-05-17 14:58:32

标签: javascript php variables get

我制作了一些变量,其中包含在我的下拉菜单中选择的答案。现在我想在我的.php文件中使用这些变量,这样我就可以查询它们。但我无法弄清楚我做错了什么,所以这是我的代码。

这是我的main.js文件:

$("#slctTable").change(function(){
    var table = document.getElementById("slctTable");
    var tableSelected = table.value;

    console.log(tableSelected);
});

$("#slctField").change(function(){
    var field = document.getElementById("slctField");
    var fieldSelected = field.value;

    console.log(fieldSelected);
});

$("#slctAttribute").change(function(){
    var attribute = document.getElementById("slctAttribute");
    var attributeSelected = attribute.value;

    console.log(attributeSelected);
});

这是我的getData.php文件:

<?php

include "connect.php";

$test1 = $_GET['tableSelected'];
$test2 = $_GET['fieldSelected'];
$test3 = $_GET['attributeSelected'];

echo ($test1);
echo ($test2);
echo ($test3);

?>

2 个答案:

答案 0 :(得分:1)

您必须将用户重定向到包含URL中变量的页面。 PHP在服务器上运行脚本,然后将该脚本的输出发送到客户端。 JavaScript仅在客户端上运行。你可以这样做:

$('#slctTable').change(function(){
    var table = document.getElementById("slctTable");
    var tableSelected = table.value;

    console.log(tableSelected);
    window.location.href = "?tableSelected=" + tableSelected
});

或者,您可以发出Ajax请求以在不刷新页面的情况下调用服务器。你可以用这个:

$('#slctTable, #slctField, #slctAttribute').change(function ()
{
    var tableSelected = document.getElementById("slctTable").value;
    var fieldSelected = document.getElementById("slctField").value;
    var attributeSelected = document.getElementById("slctAttribute").value;
    $.ajax({
        "url": "getData.php",
        "type": "GET",
        "data": {
            tableSelected: tableSelected,
            fieldSelected: fieldSelected,
            attributeSelected: attributeSelected
        }
    })
    .done(function (response)
    {
        console.log(response);
    });
});

答案 1 :(得分:0)

使用Jquery,您可以使用Ajax来实现:

$("#slctTable").change(function(){
    var table = document.getElementById("slctTable");
    var tableSelected = table.value;

    console.log(tableSelected);
});

$("#slctField").change(function(){
    var field = document.getElementById("slctField");
    var fieldSelected = field.value;

    console.log(fieldSelected);
});
$("#slctAttribute").change(function(){
    var tableSelected = slctTable.val();
    var fieldSelected= slctField.val();
    var attributeSelected = $(this).val();

     $.get( "getData.php?tableSelected="+tableSelected+"&fieldSelected="+fieldSelected+"&attributeSelected="+attributeSelected )
                    .fail(function(data){

                        alert('Ajax Call Error');
                    })
                    .done(function(){
                        alert('Success');
                        });
                    });
});