Javascript 要求服务器删除记录
我对网络开发还很陌生,所以请容忍我。我还简化了代码,试图得到最佳答案Javascript 要求服务器删除记录,javascript,jquery,html,rest,Javascript,Jquery,Html,Rest,我对网络开发还很陌生,所以请容忍我。我还简化了代码,试图得到最佳答案 <a href="/item/1">Item</a> <img src="x.png" alt="Delete"> 基本上,如果有人单击“Item”,他们会被带到/Item/1。如果他们单击img x.png,它应该要求服务器删除/item/1 显然,如果按原样单击x.png,什么也不会发生,但这是一个大问题: 我可以让我的web服务器识别/item/:id的删除方法,但是如何从浏览器
<a href="/item/1">Item</a>
<img src="x.png" alt="Delete">
基本上,如果有人单击“Item”,他们会被带到/Item/1。如果他们单击img x.png,它应该要求服务器删除/item/1
显然,如果按原样单击x.png,什么也不会发生,但这是一个大问题:
我可以让我的web服务器识别/item/:id的删除方法,但是如何从浏览器提交删除?如果我做不到,那就只能选择POST或GET了
将img包装在a href=。。。这将很容易,但这只会导致一个GET,并且会破坏宁静,所以看起来我需要使用POST。我怎样才能做到干净呢
第二个问题:
我假设在提交delete之后,我还必须刷新页面才能获得新的数据。有没有办法避免这种情况
欢迎使用HTML、JavaScript和JQuery回答。使用JQuery ajax
比方说
方法1
$(文档).ready(函数()
{
$(“.delete_anchor”)。单击(函数(e)
{
e、 预防默认值();
var url=$(this.attr('href');
$.ajax(
{
url:url,
方法:“POST”,
成功:函数()
{
警惕(“完成”);
}
});
});
});
方法2
$(文档).ready(函数()
{
$(“.delete_anchor”)。单击(函数(e)
{
e、 预防默认值();
var id=$(this.attr('id');
$.ajax(
{
url:'/item/,
数据:{“id”:id},
方法:“POST”,
成功:函数()
{
警惕(“完成”);
}
});
});
});
您要做的是数据库管理最基本活动的一部分,即CRUD(创建-读取-更新-删除)
我建议您使用这样的工具,它将为您创建基本代码*。使用phpmyadmin
导出表的结构并复制(例如):
您必须有一个包含数据库连接信息的文件(PHP Scaffold将为您放置include)
- 检查代码,您将找到您的疑问的答案。使用它,包括从数据库中选择并填充它们。玩得开心李>
<a href="/item/1" class="delete_anchor">Item</a>
$(document).ready(function()
{
$(".delete_anchor").click(function(e)
{
e.preventDefault();
var url = $(this).attr('href');
$.ajax(
{
url: url,
method: 'POST',
success: function()
{
alert("done");
}
});
});
});
<a href="#" id="1" class="delete_anchor">Item</a>
$(document).ready(function()
{
$(".delete_anchor").click(function(e)
{
e.preventDefault();
var id = $(this).attr('id');
$.ajax(
{
url: '/item/,
data: {"id":id},
method: 'POST',
success: function()
{
alert("done");
}
});
});
});
CREATE TABLE `phone` (
`Id_Phone` int(11) NOT NULL AUTO_INCREMENT,
`Ds_Phone` varchar(20) COLLATE utf8_bin DEFAULT NULL,
`Nr_Phone_Country_Code` int(3) NOT NULL DEFAULT '55',
`Nr_Phone_Area_Code` int(3) NOT NULL DEFAULT '11',
`Nr_Phone_Number` int(10) NOT NULL
)
<?php
$username = "who"; // your username
$password = "aPassword"; // yor password
$database = "mydbName"; // your db name
$server = "localhost"; // leave this
// Opens a connection to a MySQL server
$connection = mysql_connect ($server, $username, $password) or die(mysql_error());
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection) or die(mysql_error());
?>
include ('ConnDB.php');