Javascript 使用Onclick调用PHP链接

Javascript 使用Onclick调用PHP链接,javascript,php,jquery,curl,web,Javascript,Php,Jquery,Curl,Web,无论如何,这不是一个重复的问题,我已经尝试了很多解决方案。所以,请在投票前阅读 背景: 此应用程序就像一个笔记web应用程序,您可以在其中发布/删除笔记 列表中的每个项目都有一个id,在进行删除呼叫时需要该id。 在我的应用程序中,我必须从一个列表中删除单个项目,该列表是通过使用PHP循环JSON响应(通过RESTAPI)生成的。JSON响应可以在成功登录后获得 问题: 要实现删除功能我必须将每个项的id作为参数发送给rest api delete调用 因此,为此,我必须生成表单的动态链接:

无论如何,这不是一个重复的问题,我已经尝试了很多解决方案。所以,请在投票前阅读

背景:

此应用程序就像一个笔记web应用程序,您可以在其中发布/删除笔记

列表中的每个项目都有一个id,在进行删除呼叫时需要该id。

在我的应用程序中,我必须从一个列表中删除单个项目,该列表是通过使用PHP循环JSON响应(通过RESTAPI)生成的。JSON响应可以在成功登录后获得

问题:

要实现删除功能我必须将每个项的id作为参数发送给rest api delete调用

因此,为此,我必须生成表单的动态链接

http://localhost/myfolder/api/notes/:id 
应该将其传递给delete.php函数(我在CURL中实现了该函数)

我寻找可能的方法:

  • 使用PHP函数:这似乎很复杂,但是如果有某种方法在点击链接时调用PHP函数(使用CURL删除代码)(根据一些答案,我发现这是不可能的),这可能是一个很好的解决方案

  • 使用Javascript:我必须在单击链接时调用一个函数,该函数将变量$\u SESSION[“id”]设置为当前项[“id”],然后转到delete.php,在那里我使用$\u SESSION变量首先设置链接,然后使用CURL代码

  • 我尝试了使用第二种方法的基本实现,但在这个问题上遇到了障碍。如果您能用一点代码告诉我们应该采用哪种方法或任何其他方法来实现这一点,那就太好了

    twitter/facebook和几乎所有这类服务都提供了这一功能,它们如何实现这一功能,基本方法应该是相同的,对吧:生成动态链接并在单击时将其传递给php脚本

    基本Javasript方法:

       <script>
        <script>
        var el = document.getElementById('del1');
        el.onclick = del1;
    
    
        function del() {
          // I have to set $_SESSION here
          return false;
        }
        </script>
    
       echo "<a href=\"delete.php\" title=\"Delete\" id=\"del1\">"; 
       //Here, I have to pass the item["id"] to the javascript function. 
    
    
    var el=document.getElementById('del1');
    el.onclick=del1;
    函数del(){
    //我必须在这里设置$\会话
    返回false;
    }
    回声“;
    //在这里,我必须将项[“id”]传递给javascript函数。
    
    我尝试了一些其他的方法,但是我已经修改了很多代码,所以我不能发布它们。感谢您的帮助。

    关于#2,您无法从Javascript访问用户的会话,因此无法使用

    我的首选方法(如果使用jquery)是将id放入delete按钮(或整个块)的数据属性中。然后在deleteonclick函数中执行以下操作

    <div class="block" data-itemid="<?=$item['id']?>">
        ...
        <div class="delete_button">Delete</div>
    </div>
    

    您可以在第一次生成GET变量时将其嵌入链接中。因此,您的动态链接看起来像“delete.php?id=3&delete=yes”您可以用apache重写URL:您可以分享您的基本实现吗?@fast我正在更新问题。请检查。@Florentino我将使用php将id附加到您的删除链接上。回声';当然,应该再添加一部分…成功处理程序来删除该
    行的html。这将出现在post call的“…”部分:)@JayK我明白了。如果您能解释一下代码中发生了什么,这将非常有帮助?非常感谢。当事件被触发时,找到事件的目标(这将是删除按钮),然后获取数据itemid属性,这将是项目的id。。。然后通过ajax请求将其发送到php脚本。这是非常特定于jquery的(如果您不这样做,我建议您使用)。有关文档,请参阅。
    
    $('.delete_button').on('click',function(event) {
        block = $(event).target.parent('.block');
        itemid = block.data('itemid');
        $.post('delete.php',[itemid: itemid]...);
    });