使用 PHP 生成的按钮生成 POST 请求,这些按钮调用带有参数的 javascript 函数

Generate POST requests with PHP generated buttons which calls a javascript function with parameters

本文关键字:按钮 参数 javascript 调用 函数 POST PHP 请求 使用      更新时间:2023-09-26

首先,对不起这个奇怪的标题!目前我面临以下问题:

我有一个创建HTML按钮的PHP脚本

echo '<input type="button" id="$entryID" name="change_title" value="change title" onclick="sendRequest(sendRequest($type, $entryID));" />';

此按钮应调用脚本,该脚本使用参数创建 post 请求

$type//用于识别应处理
哪个 mysqli 表 $entryID//用于识别表中的哪个条目需要处理

我知道我不能用javascript创建一个post请求,因为它用于前端开发。所以我做了一些研究并发现了AJAX。所以我从来没有真正使用它。但是我尝试创建这样的发布请求(在同一文件中):

<script>
    // t = type & i = ID
    function sendRequest(t, i){
        var request = $.ajax({
        type: "POST",
        url: "admin_page.php",
        data: {"type": t, "id": i},
        success: function(){
            console.log('request via AJAX');
        }
    });
        return request;
    }
</script>

脚本运行后,我使用以下 php 脚本来检查它是否有效:

if(isset($_POST['type'])){
    if(isset($_POST['id'])){
        printf('Post request sent');
    }
}

我已经检查了AJAX和javascript文档,但没有找到任何东西。这个过程可能吗?我做错了什么?

提前谢谢。

在意识到这是回声语句的一部分后,我编辑了这个答案。这应该有效:

echo '<input type="button" id="'.$entryID.'" name="change_title" value="change title" onclick="sendRequest('.$type.','.$entryID.'));" />';

此外,我建议不要使用通过 PHP 生成的变量调用 JS 函数。它不优雅。将变量作为 data-* 属性,并使用 JS 拉取这些属性