Javascript 删除SweetAlert赢得的记录';行不通
你能告诉我这个代码有什么问题吗?我正在使用ajax、php和mysql显示一个表。我正在利用X-editable库进行内联编辑。我的问题是,当我单击删除按钮时,会弹出swal delete confirm模式,但当我确认要删除行/记录时,我什么也没有得到 我已经检查了日志文件和js控制台,但没有发现任何明显的错误。我几乎不知道问题出在我的代码上。这就是我的代码的外观。你能检查一下我哪里有错误吗 这是我的脚本文件:Javascript 删除SweetAlert赢得的记录';行不通,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,你能告诉我这个代码有什么问题吗?我正在使用ajax、php和mysql显示一个表。我正在利用X-editable库进行内联编辑。我的问题是,当我单击删除按钮时,会弹出swal delete confirm模式,但当我确认要删除行/记录时,我什么也没有得到 我已经检查了日志文件和js控制台,但没有发现任何明显的错误。我几乎不知道问题出在我的代码上。这就是我的代码的外观。你能检查一下我哪里有错误吗 这是我的脚本文件: <script> // this function is use
<script>
// this function is used to display the table
function fetch_term(term) {
// body...
if (term != '') {
$.ajax({
url:"includes/ajax/fetch_term_grades.php",
method:"post",
data:{"term":term},
dataType:"text",
success:function(data){
$("#result").html(data);
$('#dataTable').DataTable();
//$('table').attr('id', 'dataTable');
}
});
} else {
$('#result').html('');
}
}
// this is used to delete records
function swal_delete(id){
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!',
showLoaderOnConfirm: true,
preConfirm: function() {
return new Promise(function(resolve) {
$.ajax({
url: 'delete_score.php',
type: 'POST',
data: 'delete='+id,
dataType: 'json'
})
.done(function(response){
swal('Deleted!', response.message, response.status);
fetch_term(term);
})
.fail(function(){
swal('Oops...', 'Something went wrong with ajax !', 'error');
});
});
},
allowOutsideClick: false
});
}
$(document).ready(function() {
var term = $('#term').val();
fetch_term(term);
$('#term').on('change', function() {
var changeTermVal = $('#term').val();
fetch_term(changeTermVal);
});
$(document).on('click', '#delete_score', function(event) {
/* Act on the event */
var id = $(this).data('id');
swal_delete(id);
event.preventDefault();
});
});
</script>
//此功能用于显示表格
函数项(术语){
//身体。。。
如果(术语!=''){
$.ajax({
url:“includes/ajax/fetch_term_grades.php”,
方法:“张贴”,
数据:{“术语”:术语},
数据类型:“文本”,
成功:功能(数据){
$(“#结果”).html(数据);
$('#dataTable')。dataTable();
//$('table').attr('id','dataTable');
}
});
}否则{
$('#result').html('');
}
}
//这用于删除记录
函数swal_delete(id){
游泳({
标题:“你确定吗?”,
文本:“您将无法还原此内容!”,
键入:“警告”,
showCancelButton:true,
confirmButtonColor:“#3085d6”,
cancelButtonColor:“#d33”,
confirmButtonText:'是,删除它!',
请确认:正确,
预确认:功能(){
返回新承诺(函数(解析){
$.ajax({
url:“delete_score.php”,
键入:“POST”,
数据:“删除=”+id,
数据类型:“json”
})
.完成(功能(响应){
swal('Deleted!',response.message,response.status);
术语(术语);
})
.fail(函数(){
swal('Oops…','ajax出了问题!,'error');
});
});
},
allowOutsideClick:false
});
}
$(文档).ready(函数(){
var term=$('#term').val();
术语(术语);
$('#term')。on('change',function(){
var changeTermVal=$('#term').val();
获取术语(changeTermVal);
});
$(文档)。在('单击','删除分数')上,函数(事件){
/*对事件采取行动*/
var id=$(this.data('id');
swal_删除(id);
event.preventDefault();
});
});
这是返回要显示的表的文件(fetch\u term\u grades.php)
这是用于删除记录的文件
<?php
$response = array();
$id = intval($_POST['delete']);
var_dump($id);
$sql = "DELETE from period_one WHERE id = {$id} LIMIT 1 ";
$result = mysqli_query($connection, $sql);
if($result && mysqli_affected_rows($connection) == 1){
$response['status'] = 'success';
$response['message'] = 'Product Deleted Successfully ...';
}
else {
$response['status'] = 'error';
$response['message'] = 'Unable to delete product ...';
}
echo json_encode($response);
您的浏览器网络日志是否显示了实际执行的删除请求?我喜欢这个PHP脚本如何不验证请求,甚至不验证用户身份。如果我在哪里做一个curl循环,执行delete_score.php
发布$id
,范围从0
到1000000
。我想那会很糟糕,是吗?@Xorifelse我很抱歉,我甚至不知道我做事情的方式是否正确。你有什么办法能帮我做到最好,更安全吗?@chiliNUT不,它没有显示任何东西。这就像请求没有到达文件,因为即使我故意在delete_score.php文件中创建一些错误,它也不会显示任何内容。var_dump($id)
+json\u encode($response)
不返回有效的json格式。从这个意义上说,JS对象>响应
浏览器网络日志是否显示了实际执行的删除请求?我喜欢这个PHP脚本如何不验证请求,甚至不验证用户身份。如果我在哪里做一个curl循环,执行delete_score.php
发布$id
,范围从0
到1000000
。我想那会很糟糕,是吗?@Xorifelse我很抱歉,我甚至不知道我做事情的方式是否正确。你有什么办法能帮我做到最好,更安全吗?@chiliNUT不,它没有显示任何东西。这就像请求没有到达文件,因为即使我故意在delete_score.php文件中创建一些错误,它也不会显示任何内容。var_dump($id)
+json\u encode($response)
不返回有效的json格式。从这个意义上讲,JS对象>响应
<?php
$response = array();
$id = intval($_POST['delete']);
var_dump($id);
$sql = "DELETE from period_one WHERE id = {$id} LIMIT 1 ";
$result = mysqli_query($connection, $sql);
if($result && mysqli_affected_rows($connection) == 1){
$response['status'] = 'success';
$response['message'] = 'Product Deleted Successfully ...';
}
else {
$response['status'] = 'error';
$response['message'] = 'Unable to delete product ...';
}
echo json_encode($response);