gpt4 book ai didi

javascript - 在php中点击动态按钮调用参数化函数

转载 作者:行者123 更新时间:2023-11-27 22:32:49 25 4
gpt4 key购买 nike

我想在 PHP 中调用参数化函数。我正在为此使用 AJAX。

这是我的动态按钮。我需要将 $sub_id 传递给 delet(sub_id) 函数并在那里执行一些 SQL。

echo "<td><input type='submit' name='disable' value='Disable' onClick='delet($sub_id);'/></td>"; 

这是我到目前为止的脚本:

<script>
function delet(sub_id) {
alert("sub ID = " + sub_id);
jQuery.ajax({
type: 'GET',
url: '/my_page',
data: {
ID: sub_id
}
}).done(function(msg) {
alert("Data Saved: " + msg);
});
}
</script>

这是 PHP 函数:

function delet($ID){
echo $ID;
//do sql stuff...
}

所有代码都在一个文件中,我在 WordPress 默认模板 swentysixteen 中执行此操作。所以我的页面没有 .php 扩展名。

当我点击动态按钮时,我在ajax的url参数中收到404错误。当我看到控制台时,网址链接似乎是正确的。

请帮助我解决这个问题。谢谢。

最佳答案

首先,不要在你的头脑中把JS代码和PHP代码合而为一。

请记住,JS代码是在浏览器上执行的,浏览器是服务器通过PHP提供的。 PHP 代码在服务器端执行,并向客户端(浏览器)提供 HTML 代码作为输出。所以JS变量和PHP变量没有任何直接或间接的关系。

对于您的解决方案,

您已通过 ajax 使用 GET 传递了 ID 参数。因此在服务器端,您将在 $_GET 变量中获取传递的数据,因此 ID 将通过 $_GET['ID']

获取
function delete($ID){
echo $ID;
//do sql stuff...
}
if(isset($_GET['action']) && $_GET['action']=="delete")
{
if(isset($_GET['ID']) && !empty($_GET['ID']))
{
delete($_GET['ID']);
echo "deleted successfully";
}
else
{
echo "ID not passed for delete record";
}
die(); // you stop execution of PHP after delete opration here
}

Javascript代码

<script>
function delet(sub_id) {
jQuery.ajax({
type: 'GET',
url: '/my_page',
data: {
action: 'delete',
ID: sub_id
}
}).done(function(msg) {
alert("Data Saved: " + msg);
});
}
</script>

关于javascript - 在php中点击动态按钮调用参数化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com