使用Onclick调用PHP链接

时间:2014-10-23 14:40:08

标签: javascript php jquery curl web

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

enter image description here

背景

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

列表中的每个项目都有一个在进行删除调用时需要的ID。

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

问题:

要实施删除功能,我必须将每个项目的ID作为参数发送到其余的api删除调用。

因此,为此,我必须生成以下形式的动态链接

http://localhost/myfolder/api/notes/:id 

应传递给delete.php函数(我已在CURL中实现)。

我搜索了可能的方法:

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

  2. 使用Javascript:我必须在点击链接时调用一个函数,该变量将变量$ _SESSION [“id”]设置为当前项[“id”],然后转到delete.php,我在其中使用$ _SESSION变量首先设置链接然后使用CURL代码。

  3. 我尝试使用第二种方法进行基本实现,但我在这个问题上遇到了障碍。如果你能用一些代码告诉我应该遵循哪种方法或者用其他任何方法来做这件事会很棒?

    这个功能出现在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. 
    

    我尝试了其他一些方法,但我已经修改了很多代码,所以我不能发布它们。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

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

我的首选方式(如果使用jquery)是将id放在删除按钮(或整个块)的数据属性中。然后在删除onclick函数中执行类似

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

...

$('.delete_button').on('click',function(event) {
    block = $(event).target.parent('.block');
    itemid = block.data('itemid');
    $.post('delete.php',[itemid: itemid]...);
});