1

我正在使用 ajax 脚本将值发布到 PHP 文件。我无法传递变量。

我的变量是在 PHP 中声明的,我想用 ajax 传递它。

这是变量和我的按钮:

<?php $employee_id= '3'; ?>    
<input class="btn btn-danger" type="submit" value="Delete" id="delete-btn">

这是Javascript:

<script>
    $(document).ready(function () {
        $("input#delete-btn").click(function(){
            $.ajax({
                type: "POST",
                url: "delete.php", // 
                data: {id: '$employee_id'},
                success: function(msg){
                    $("#thanks").html(msg)  
                },
                error: function(){
                    alert("failure");
                }
            });
        });
    });
    </script>

这是我想要接收值的 PHP 代码:

if (isset($_POST['id'])) {

$emp_id = strip_tags($_POST['id']); 

echo $emp_id;

$query = "DELETE FROM `employee` WHERE id='$emp_id'"; 

$result = mysql_query($query) OR die(mysql_error()); 

echo 'You successfully deleted the user.';}

我知道我在数据方面做错了什么......

4

2 回答 2

9

那是因为您的变量在 php 中,但您没有使用 php 将变量附加到 ajax,请尝试将变量包装在 php 标签中,然后确保使用“echo”将变量的值打印到 javascript 中。

data: {id: <?php echo '$employee_id'?>},

就客户所见,您的 javascript 代码最终看起来像这样:

data: {id: '3'},

他们不会看到 php 代码,他们只会看到最终结果作为他们的 javascript。

于 2013-08-06T18:48:59.540 回答
1

您需要围绕变量的 PHP 标记:

<script>
$(document).ready(function () {
    $("input#delete-btn").click(function(){
        $.ajax({
            type: "POST",
            url: "delete.php", // 
            data: {id: <?php echo '$employee_id'; ?> }, // <---
            success: function(msg){
                $("#thanks").html(msg)  
            },
            error: function(){
                alert("failure");
            }
        });
    });
});
</script>
于 2013-08-06T18:50:16.923 回答