在动态按钮上调用参数化函数在php中单击

时间:2016-09-09 05:57:16

标签: 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错误。当我看到控制台时,网址链接似乎是正确的。

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

1 个答案:

答案 0 :(得分:2)

首先,不要将JS代码和PHP代码结合在一起。

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

对于您的解决方案,

您已通过ajax使用GET传递了ID参数。所以在SErver方面,您将获得$_GET['ID']变量中的数据,因此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 }

获取
<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代码

{{1}}