javascript - 使用 Onclick 调用 PHP 链接

标签 javascript php jquery curl web

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

enter image description here

背景:

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

列表中的每个项目都有一个 ID,在进行删除调用时需要使用该 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 代码。

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

这个功能存在于 twitter/facebook 和几乎所有这样的服务中,他们如何实现这个,基本方法应该是相同的,正确的:生成动态链接并在点击时将它们传递给 php 脚本

基本的 JavaScript 方法:

   <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. 

我尝试过其他一些方法,但我修改了很多代码,所以我无法发布它们。感谢您的帮助。

最佳答案

关于 #2,您无法从 Javascript 访问用户的 session ,因此这不起作用。

我的首选方法(如果使用 jquery)是将 id 放入删除按钮(或整个 block )的数据属性中。然后在删除 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]...);
});

关于javascript - 使用 Onclick 调用 PHP 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26530690/

相关文章:

php - 具有 APC 缓存的 key 组

php - 使用 PHP 在 WSDL 中使用奇怪的附加响应

php - 如何将两个查询合并在一起以分页显示一组数据

javascript - 使用 jQuery/Javascript 隐藏按钮包含的元素

javascript - jQuery:用跨度的值填充文本框

javascript - 如何仅使用网络浏览器记录用户的网络 session ?

javascript - 当用户按 Enter 键时,jQueryUI 自动完成返回 AJAX 错误 0

javascript - 您可以使用 appendChild 将元素添加到具有动态创建的 id 的 div 中吗?

javascript - 如何替换父元素的内容,忽略使用 jQuery 的子元素

javascript - POST 数据将始终使用 UTF-8 字符集传输到服务器