如何在javascript中调用php方法?
我已经在这里做研究了。 很多人说ajax更好。 但是我想先问一些问题,因为我从来没有使用过ajax 如果我在如何在javascript中调用php方法?,javascript,php,ajax,database,Javascript,Php,Ajax,Database,我已经在这里做研究了。 很多人说ajax更好。 但是我想先问一些问题,因为我从来没有使用过ajax 如果我在窗口上按yes,我想删除数据库中的某些行。请使用javascipt确认 我的HTML按钮 <button onclick="deleteFunction()">Del</button> 存储类中的Mydelete方法 class Storage { public function delete($condition) { // Delete fro
窗口上按yes,我想删除数据库中的某些行。请使用javascipt
确认
我的HTML按钮
<button onclick="deleteFunction()">Del</button>
存储类中的Mydelete
方法
class Storage
{
public function delete($condition)
{
// Delete from database with condition
}
}
我必须使用ajax
调用PHP方法吗?明确两个概念很重要,服务器端执行和客户端执行
服务器端与php一样,代码在web服务器中解释
客户端与javascript一样,代码在用户的浏览器中解释
AJAX确实很好地让双方“一起”工作,而不会干扰用户体验
在这种情况下使用AJAX不是必须的。当您希望在不重新加载所有站点的情况下执行操作时,AJAX非常有用。如果您想这样做,请尝试使用一些jQuery函数,如:
$.ajax({
url: "yourPHPfunction.php",
data: {
row: 123
}
}).done(function() {
alert("The row was deleted.")
});
在js delete()函数中
如果不想使用AJAX,可以(通过js)向编写delete函数的PHP文件发出GET或POST请求
如果您看一看jQueryAPI文档就好了。
但在此之前,要了解AJAX的背景知识,最好先阅读。我会用一句简单的话来回答:
看看这个视频:
您将了解自己,为什么没有AJAX您所要求的是不可能的
欣赏视频,再见:)
我希望这个答案能帮助您理解为什么不使用AJAX或类似工具,您就不能做自己想做的事情;) php代码需要php解释器才能运行。
浏览器找不到php解释器,无法在javascript中运行代码。因此,您必须调用php服务器来帮助您。它将运行您的代码并返回结果。使用ajax是一个更好的主意 这将为您提供基本流程:
<!-- the form sample -->
<form method="POST" action="your_php.php" onsubmit="return confirm('Are you want to delete?');">
ID: <input type="text" name="id" /><br/>
<input type="submit" name="submit" />
</form>
ID:
在PHP中:
<?php
class Storage
{
public function delete($id)
{
// should be better if this is another class
$connection = new mysqli('localhost', 'your_db_username', 'db_password', 'database_name');
$stmt = $connection->prepare('DELETE FROM `table` WHERE id = ?');
$stmt->bind_param('i', $id);
$stmt->execute();
}
}
if(isset($_POST['submit'])) {
$id = $_POST['id'];
$storage = new Storage();
$storage->delete($id);
}
?>
不,如果你不想使用ajax,那么正常的提交将如kevin所说,而且,当你定义了deleteColumn()
时,为什么要调用deleteFunction()
?对于你的//Do delete方法,你必须重定向到一个PHP文件(或者不重定向,发出另一个调用文件的请求,例如ajax)这实际上是删除。比如
@达伦:嗯。。只是想分离数据库的功能。存储类作业正在数据库中设置某些内容。提交时,获取id,实例化对象,将其馈送到方法usemysqli.*
或pdo函数中,并执行适当的delete语句。不管怎样,您使用的是php框架吗?或者你只是创建自己的类?我不能使用任何库,因为我正在学习。在这种情况下,本文将非常有用:请注意,以原始方式,你将有大量的跨浏览器问题。也许它在其中一种情况下可以正常工作,但在另一种情况下就不行了。当你最终修复它时,它将在另一个上工作,但在第一个上不工作;)谢谢你的链接。我会从中学习的。不要把它当作一个游戏,我只是希望你能理解PHP是服务器端评估的,你不能在客户端浏览器中运行它。。。记住:)
<?php
class Storage
{
public function delete($id)
{
// should be better if this is another class
$connection = new mysqli('localhost', 'your_db_username', 'db_password', 'database_name');
$stmt = $connection->prepare('DELETE FROM `table` WHERE id = ?');
$stmt->bind_param('i', $id);
$stmt->execute();
}
}
if(isset($_POST['submit'])) {
$id = $_POST['id'];
$storage = new Storage();
$storage->delete($id);
}
?>