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

标签 javascript php jquery ajax

我想在 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/

相关文章:

javascript - 为跨浏览器功能设置选择菜单样式的正确方法

javascript - React js 重新渲染表单中的大量组件

php - 查询输出中缺少 DATETIME 值,然后自动填充缺少的值并获得正确的输出

javascript - 为什么我要在 jQuery(function ($) { }); 中封装一个 jQuery 函数?

javascript - 需要帮助将一段代码合并到 divi 部分

javascript - 简单的 Javascript 语法表现异常

javascript - Mongodb查找查询数组以元素开头

php - 尽管付款转帐成功,Paypal 仍显示错误消息

php - 尝试将 EC2 服务器连接到 RDS mySQL 时出错

javascript - 带偏移量的平滑滚动 anchor (jquery)