繁体   English   中英

将 JavaScript 变量存储在 php 变量中,无需页面刷新

[英]Store JavaScript variable in a php variable without page refresh

我在这里阅读了大量文章并尝试了数十种变体,包括 ajax。我想要做的是单击一个按钮并将该按钮的 ID 存储在 php 变量中,而无需刷新页面。

我试过使用 isset 和 POST,我得到了一些未定义键数组的变体。

建议使用 Ajax,但当我使用 ajax 时,我可以获取存储的变量,但无法将其放入 php 变量中。

当前设置...

我有一个 HTML 按钮,我需要从中将 id 存储在 php 变量中,以便我可以在另一个 SQL 语句中使用它。 此按钮是从数据库返回的 MySQL 条记录的 HTML 表的一部分。

<input type='button' value='Edit' name='editbtn' onclick='edit(this.id)' id =  '" . $row['id'] . "'/> 

JavaScript...

function edit(clicked_id){
        var selid = clicked_id;
        var seleid = selid.toString();
        $.ajax({
            type: 'post',
            data: {name: seleid},
            datatype: 'text',
            success: function(data){
                console.log(name);
                alert("Success, data is: " + data);  // This correctly returns the id of the button clicked
            },
     });
} 

页面顶部的PHP是...

if(isset($_POST['name']) && !empty($_POST['name'])){
    ob_clean();
    $varid = $_POST['name'];
    echo $varid;
    exit; 
}

PHP 没有收到任何东西。 有没有办法做到这一点? 我想这是后端/前端问题?

注意:我已经能够将 JavaScript 变量存储在 HTML 标签中,但我无法将其用作 SQL 语句的一部分,即使在删除标签后也是如此。

请帮忙,谢谢!

在您的 php 代码中尝试这样的事情:

$data = json_decode(file_get_contents('php://input'), true);
if(isset($data['name']) && !empty($data['name'])){
    ob_clean();
    $varid = $_POST['name'];
    echo $varid;
    exit; 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM