我正在使用ajax脚本将值发布到PHP文件。 我在传递变量时遇到问题。 我的变量在php中声明然后我想用ajax传递它。
这是变量和我在JS中捕获的按钮
<?php $employee_id= '3'; ?>
<input class="btn btn-danger" type="submit" value="Delete" id="delete-btn">
这是ajax代码
<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.';}
我知道我在数据方面做错了什么:
答案 0 :(得分:8)
那是因为你的变量在php中但是你没有使用php将你的变量附加到你的ajax,尝试将你的变量包装在php标签中然后确保你使用'echo'将变量的值打印到javascript中
data: {id: <?php echo '$employee_id'?>},
就客户端所见,您的javascript代码最终会为他们看起来像这样:
data: {id: '3'},
他们不会看到PHP代码,他们只会将最终结果视为他们的javascript。
答案 1 :(得分: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>