Javascript 处理后不会自动重新加载PHP
嗨,我有一个包含数据的PHP文件。该值被传递到另一个php文件,该文件将成功处理该值。但是第一个php文件不会刷新以更新新结果。它必须手动完成。谁能告诉我哪里错了,需要做什么。请在下面找到我的代码 PHP代码(第1页,index.PHP) PHP代码(第2页,删除_task.PHP) 选定的值将被删除,但index.php上的显示不会自动更新。我必须手动刷新以查看更新的结果。任何帮助都将不胜感激 通过调用Javascript 处理后不会自动重新加载PHP,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,嗨,我有一个包含数据的PHP文件。该值被传递到另一个php文件,该文件将成功处理该值。但是第一个php文件不会刷新以更新新结果。它必须手动完成。谁能告诉我哪里错了,需要做什么。请在下面找到我的代码 PHP代码(第1页,index.PHP) PHP代码(第2页,删除_task.PHP) 选定的值将被删除,但index.php上的显示不会自动更新。我必须手动刷新以查看更新的结果。任何帮助都将不胜感激 通过调用标题(“Location:index.php”)您不重定向主页。您发送了一个ajax请求——
标题(“Location:index.php”)代码>您不重定向主页。您发送了一个ajax请求——您可以将其视为在后台打开一个新页面,因此此代码将该页面重定向到index.php
解决任务的更好方法是将状态返回到success函数,并删除从数据库中删除的项目
success: function(data){
if(data.success){
//remove deleted items
}
}
@Krish我现在无法帮助您使用php代码,在JS端,您可以在元素上使用.remove()。
var selVal; //global variable
function respToChkbox()
{
var inputElements = document.getElementsByTagName('input'),
input_len = inputElements.length;
for (var i = 0; i<input_len; i++)
{
if (inputElements[i].checked === true)
{
selVal = inputElements[i].value;
}
}
}
$(document).ready(function() {
$(".checkbox").click(function(){
$.ajax({
type: "POST",
url: "remove_task.php", //This is the current doc
data: {sel:selVal, remsubmit:"1"},
success: function(data){
//alert(selVal);
//console.log(data);
}
});
});
});
session_start();
error_reporting(E_ALL);ini_set('display_errors', 'On');
$task_to_remove = $_POST['sel'];
function remove_from_list() //Removes a selected task from DB
{
$db_connection = open_database_connection();
global $task_to_remove;
mysql_select_db('todolist');
$sql = "DELETE FROM todolist WHERE name = "."'".$task_to_remove."'";
if($task_to_remove!='' || $task_to_remove!=null)
{
mysql_query($sql, $db_connection);
}
close_database_connection($db_connection);
header("Location: index.php");
}
if($task_to_remove != "") {
remove_from_list();
}
success: function(data){
if(data.success){
//remove deleted items
}
}