如何在Javascript中访问PHP方法?
我已经制作了一个删除文件的方法。 首先我回复这个文件的URL。 像这样
echo "$filename";
现在basicaly我想调用函数deletefile($file);
我怎么能这样做呢
echo "deletefile($filename)' href='https://stackoverflow.com/questions/2139890/how-to-access-php-methods-inside-a-javascript/$fulr'>$filename";
那甚至可以吗?
或者我如何在PHP代码中实现类似的东西?
您似乎对浏览器/服务器通信有错误的想法。 你需要做:
", $filename, $filename); ... ?>
在服务器中,以便链接转到服务器上的脚本,或使用JavaScript。 我建议使用jQuery的post()函数或类似的AJAX函数:
$.post("delfile.php", { file: \"$filename\" } );
记住: 安全性,安全性,安全性……然后是优雅的降级
并且感谢waiwai933,David Dorward允许我“快速地忘记了基本点上的树木”。
在这种情况下,PHP在Web服务器上运行并将一些输出发送到浏览器。
然后,浏览器将该输出作为JavaScript处理。
没有办法直接访问PHP。 您必须将HTTP请求发送回服务器。
这可能是一个简单的链接(但不要对删除文件操作,GET操作应该是安全的(或者机器人将遍历您的网站并删除所有内容),表单,或者如果您真的想要涉及JavaScript – XHR (或可用于执行Ajax的其他一些对象) .YUI或jQuery等库可以帮助您解决繁重的问题。
无论哪种方式(表单或Ajax),您最终都可能会在POST数据中放置有关要删除的文件的数据。 您的PHP脚本将读取此内容(从$_POST
并调用您想要的函数)。
…如果你确实沿着Ajax路线走下去,不要忘记建立有用的东西 。
你不能从你的Javascript调用PHP代码。
您可以做的是(假设这发生在Web服务器上)将GET / POST放到PHP脚本中,传入任何必要的参数,以执行正确的PHP方法。
从PHP内部来看,它更容易一些。 如果你正在吐出HTML,你可以添加一个脚本节点来调用Javascript函数(或者只是运行一些Javascript)。
你不能这样做,因为javascript无法执行PHP代码,你不能用JavaScript删除文件所以我认为你必须做这样的事情:
if(isset($_GET['delete'])) unlink($_GET['delete']); .... echo "$filename";
你可以这样做:
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:
filename
你不能从你的Javascript调用PHP代码。
但你可以使用xajax来做到这一点
或者查看这篇文章 。 这将是使用ajax的更好解决方案
如果你想从Javascript中调用PHP函数,那么这就差不多了: http : //www.phplivex.com/
我多次使用这个lib,我真的很喜欢它。