我对 AJAX 还很陌生。我使用返回 HTML 的 javascript 完成了其中一些操作,但我正在努力解决一些我认为应该非常简单的事情。
我有一个带有内联元素的标题:
<header>
<span class="right_alignment">
<a id="delete_work" href="">
<input id ="work_id" type="hidden" value="<?php echo $work_id ?>"/>
<i class="fa fa-plus" aria-hidden="true">
</i>
</a>
</span>
</header>
我想将 $work_id 发送到一个 PHP 脚本,该脚本执行一个 MySQL 查询,删除数据库中的这条记录。它必须是 POST 请求,并且由于它是内联元素,所以我无法使用表单。所以 AJAX 就是这样。这是我的尝试:
$( document ).ready(function() {
$("#delete_work").click(function () {
$.ajax({
url: 'scripts/script-delete-work.php',
type: 'POST',
data: $('#work_id').val(),
});
});
});
现在 script-delete-work.php 不用担心,所以很简单:
$edition_id = $_POST['work_id'];
echo $work_id;
但是这个设置不起作用。我知道这是最简单的 AJAX 形式,但我不知道如何发送数据或发生了什么故障。有什么帮助吗?
谢谢!
编辑-- 好吧,我解决了数据问题。我现在拥有的是:
HTML
<span class="span_edit_right">
<a id="delete_work" href="">
<input id="work_id" type="hidden" value="<?php echo $work_id; ?>"/>
<i class="fa fa-trash-o" aria-hidden="true">
</i>
</a>
</span>
脚本:
$( document ).ready(function() {
$("#delete_work").click(function () {
var val = $('#work_id').val();
$.ajax({
url: 'scripts/script-delete-work.php',
type: 'POST',
data: { "work_id" : val },
success: function ()
{
alert("works!");
}
});
});
});
PHP
<?php echo $_POST['work_id'];
当我点击#delete_work
时它返回警报 "works"
,并重新加载页面,但不显示带有 <?php echo $_POST['work_id'];
的页面.
最佳答案
请使用此代码
$( document ).ready(function() {
$("#delete_work").click(function () {
var val = $('#work_id').val();
$.ajax({
url: 'scripts/script-delete-work.php',
type: 'POST',
data: { "work_id" : val },
success: function ()
{
}
});
});
});
在您的服务器端只需
echo $_POST['work_id'];
关于javascript - 使用 AJAX 和 POST 运行 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388883/