如何在Javascript中访问PHP方法?

时间:2010-01-26 14:10:23

标签: php javascript jquery

我制作了一个删除文件的方法。 首先,我将url回显到此文件。 像这样

echo "<a href='$fulr'>$filename</a>";

现在基本上我想调用函数deletefile($file); 我怎么能这样做呢

echo "<a onclick='$this->deletefile($filename)' href='$fulr'>$filename</a>";

甚至可以吗?

或者我如何在php代码中实现类似的东西?

7 个答案:

答案 0 :(得分:7)

您似乎对浏览器/服务器通信有错误的想法。你需要做:

<?php
...
printf("<form name=\"delfilefrm\" action=\"delfile.php\" method=\"POST\">
        <input type=\"hidden\" name=\"delfile\" value=\"%s\" />
        <input type=\"submit\" value=\"Delete %s\" />
    </form>", $filename, $filename);
...
?>

在服务器中,以便链接转到服务器上的脚本,或使用JavaScript。我建议使用jQuery的post()函数或类似的AJAX函数:

$.post("delfile.php", { file: \"$filename\" } );

请记住:安全性,安全性,安全性......然后是优雅的降级

感谢waiwai933,David Dorward允许我“快速地忘记了基本点上的树木”。

答案 1 :(得分:1)

在这种情况下,PHP在Web服务器上运行并将一些输出发送到浏览器。

然后,浏览器将该输出作为JavaScript进行处理。

无法直接访问PHP。您必须将HTTP请求发送回服务器。

这可能是一个简单的链接(但不要对删除文件操作,GET操作应该是安全的(或者机器人将遍历您的网站并删除所有内容),表单,或者如果您真的想要涉及JavaScript - XHR(或其他一些可用于执行Ajax的对象)。YUIjQuery等库可以帮助您解决繁重问题。

无论哪种方式(表单或Ajax),您最终都可能会在POST数据中放置有关要删除的文件的数据。您的PHP脚本将读取此内容(来自$_POST并调用您想要的函数)。

...如果您确实沿着Ajax路线前进,请不要忘记build on things that work

答案 2 :(得分:1)

您无法通过Javascript调用PHP代码。

您可以做的是(假设这是在Web服务器上发生的)将GET / POST放到PHP脚本中,传入任何必要的参数,以执行正确的PHP方法。

从PHP中,它更容易一些。如果你正在吐出HTML,你可以添加一个脚本节点来调用Javascript函数(或者只是运行一些Javascript)。

答案 3 :(得分:1)

你不能这样做,因为javascript无法执行php代码,你不能用javascript删除文件所以我认为你必须做这样的事情:

if(isset($_GET['delete'])) unlink($_GET['delete']);
....
echo "<a href='".__FILE__."?delete=$fulr'>$filename</a>";

答案 4 :(得分:1)

你可以这样做:

php:让我们称之为deletefile.php

<?
$file = $_POST['filename'];

deletefile($file);
?>

jQuery:

$('a').click(function(){
   $.ajax({
      method: 'POST',
      url: 'deletefile.php',
      data: "filename=" + $(this).text(),
      success: function(data) {
        alert('File deleted.');
      }
   });
   return false;
});

HTML:

<a href="#" >filename<a/>  <!-- filename is the name of your file... -->

答案 5 :(得分:0)

您无法通过Javascript调用PHP代码。

但您可以使用xajax来执行此操作

或检查this post。 这将是使用ajax

的更好解决方案

答案 6 :(得分:0)

如果你想从Javascript中调用PHP函数,那么这就差不多了:http://www.phplivex.com/

我多次使用过这个lib,我非常喜欢它。