我有一个非常小的php脚本,其中有几个按钮,没有任何形式。当我按下一个按钮时,我希望根据要使用ajax发送的ID执行一个小的php脚本。
这些按钮如下所示:
<button onclick="deleteTask()" class="task" data-id="1">Task 1</button>
<button onclick="deleteTask()" class="task" data-id="2">Task 3</button>
<button onclick="deleteTask()" class="task" data-id="3">Task 4</button>
...
我有这个ajax函数:
function deleteTask() {
var id=$(this).data("id");
var dataString='id='+ id;
$.ajax({
type: "POST",
url: "test.php",
data: dataString,
cache: false,
success:function(html) {
alert(html);
}
});
}
执行的PHP脚本只是一个测试:
$id = $_POST['id'];
echo "Response: " . $id;
结果是该警报框的响应为:
Response: undefined
我想要的是获取作为响应按下的按钮的数据ID。如果我用
1
按下data-id="1"
按钮,我想得到"1"
的响应。 最佳答案
在这种情况下,$(this)
是窗口对象。
您可能正在考虑在jQuery事件处理程序的后面使用$(this)
。当您执行类似$('#myElement').click(function() {...});
的操作时,$(this)
将代表已单击的元素。
您有理由不能做这样的事情吗?
<button onclick="deleteTask(1)">Task 1</button>
<button onclick="deleteTask(3)">Task 3</button>
<script>
function deleteTask(id) {
var dataString='id='+ id;
...
}
</script>
关于php - Ajax在不刷新的情况下执行php-如何设置变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49439852/