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

标签 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);

?>

最佳答案

您必须将用户重定向到 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);
    });
});

关于javascript - 如何使用 php 文件中的 GET 来获取我在 .js 文件中声明的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279696/

相关文章:

javascript - 在 select2 上禁用 ajax 缓存的正确方法是什么?

javascript - 为什么我的 'this' 没有在每个循环内部 jQuery 中更改上下文?

php - Codeigniter:如何使用 jQuery 添加带有复选框的列以进行多项选择和删除

javascript - jQuery $(this).addClass 不起作用

variables - Jmeter - 重置从表达式提取器生成的变量

javascript - 如何使项目符号逐渐出现在 RMarkdown 的 flexdashboard Storyboard中?

php - Mysql 正则表达式

javascript - Firefox javascript问题设置变量

variables - 变量和常量的通用名称

javascript - Promise.promisify 不是函数