我正在为计算设备的在线商店编写代码。该站点允许管理员向数据库添加,编辑或删除某些类别的设备,如计算机,显示器,鼠标等。 当完全用PHP编写时,代码可以很好地添加,编辑和删除类别。
然后,为了删除类别,我尝试使用Ajax来防止重新加载页面并且它不起作用:它似乎没有调用删除功能(称为" erasear"因为它是西班牙语)和我不明白为什么。我将不胜感激任何帮助。以下是与此问题相关的代码部分:
A部分):一切工作都很精细,仅使用PHP代码: 代码应该从数据库中消除类别:
<script type="text/javascript">
function eliminar(id) {
if(confirm("Category will be eliminated. Please confirm")) {
location.href="eliminarcategorias.php?idcategoria="+id;
}
}
</script>
文件代码&#34; eliminarcategorias.php&#34;,还与以前的代码一起工作:
<?php
session_start();
if (isset($_SESSION['administrador'])) {
$idcategoria=$_GET['idcategoria'];
include('../../php/conexion.php'); //ROUTING TO CONNECT TO MYSQL
mysql_query("delete from categorias where id='$idcategoria'");
cerrarconexion(); //CLOSES ACCESS TO MYSQL
header('location:formaniadircategorias.php'); //RETURNS TO MAIN PAGE
}
else {
header('location:../index.html');
}
?>
B部分):更改AJAX上的添加代码不起作用:它不会与功能相关联&#34;消除&#34;并且它不会从数据库中删除记录。 值得注意的是,消息&#34;类别将被淘汰。请确认&#34;显示但是没有发生任何事情和记录都没有被删除。
<script type="text/javascript">
function eliminar(id) {
if(confirm("Category will be eliminated. Please confirm")) {
$.ajax({
type:"POST",
url:"eliminarcategorias.php",
data:'idcategoria='+id,
})
}
}
</script>
CODE ON&#34; eliminarcategorias.php&#34;,随着小的变化适应AJAX中添加的代码......
<?php
session_start();
if (isset($_SESSION['administrador'])) {
$idcategoria=$_POST['idcategoria'];
include('../../php/conexion.php'); //ROUTING TO CONNECT TO MYSQL
mysql_query("delete from categorias where id='$idcategoria'");
cerrarconexion(); //CLOSES ACCESS TO MYSQL
}
else {
header('location:../index.html');
}
?>
答案 0 :(得分:2)
ajax的数据语法错误。它应该是这样的:
<script>
function eliminar(id) {
if(confirm("Category will be eliminated. Please confirm")) {
$.ajax({
type:"POST",
url:"eliminarcategorias.php",
data:{idcategoria:id }
})
}
}
</script>
答案 1 :(得分:0)
我在这部分有这两个陈述:
<script src="../../javascript/jquery-slim.min.js"></script>
通过删除最后一个来解决问题!