gpt4 book ai didi

javascript - PHP 和 AJAX 不能一起工作

转载 作者:行者123 更新时间:2023-12-02 16:58:44 25 4
gpt4 key购买 nike

我在用 PHP、Javascript 和 AJAX 制作删除系统时遇到了麻烦。我以前曾这样做过,但这次 PHP 和 AJAX 不会进行联系,Javascript 脚本也不会执行任何操作。

在 Javascript 文件(server-log.js)中,警告某些内容不起作用,它不会出现。这也不适用于 AJAX/PHP 处理程序文件(server-log.handler.php)。控制台错误不会带来任何错误返回,所有文件中的 URL 也都是正确的。这是因为我可以从 Chrome 中找到带有控制台错误的每个文件

JS脚本(server-log.js):

    $('.btn btn-xs btn-danger').click(function(){

var press = $.this.attr('id');
var press_url = 'action=delete&id='+press;

$.ajax({
type: 'POST',
url: 'panel/includes/handlers/server-log.handler.php',
data: press_url,
success: function(responseText)
{
$.parseJSON(responseText);

/* If and else controlling system */
if(responseText.indexOf(1) > -1)
{
$("#danger").append('<strong>Helaas!</strong> Het is niet gelukt om de gevraagde log rij te verwijderen');
}
else if(responseText.indexOf(2) > -1)
{
$("#danger").append('<strong>Helaas!</strong> Het opgegeven ID nummer is niet geldig');
}
else if(reponseText.indexOf(100) > -1)
{
$("#success").append('<strong>Goed!</strong> De gevraagde log is succesvol verwijderd');
}
else
{
$("#info").append('<strong>Info:</strong> Er is helaas een onbekende fout opgetreden <i>2255200914</i>');
}
}
});
});

HTML部分(server-log.php)

                    <div class="alert alert-success" style="display: none;" id="success"></div>
<div class="alert alert-danger" style="display: none"; id="danger"></div>
<div class="alert alert-info" style="display: none;" id="info"></div>
<div class="error-log sscroll">
<ul>
<form method="post">
<?php
while($arrayLogs = $arrayqLogs->fetch_array())
{
?>
<li>
<span class="green">[<?php echo $arrayLogs['date']; ?>]</span>
<span class="red">[<?php echo $arrayLogs['action']; ?>]</span>
[<?php echo $arrayLogs['name']; ?>] <?php echo $arrayLogs['url']; ?>
<button class="btn btn-xs btn-danger" name="deleting" id="<?php echo $arrayLogs['id']; ?>"><i class="fa fa-times"></i></button>
</li>
<?php
}
?>
</form>
</ul>
</div>

PHP 处理程序部分(server-log.handler.php)

    <?php
include_once '../config.php';

if(isset($_POST['action']) && $_POST['action'] == 'delete')
{
$intAction = trim($_POST['id']);
$error = array();
$bolean = false;

# Prepared statement
$stmt = $mysqli->prepare("SELECT id,name,action,url,date FROM logs WHERE id = ?");
$stmt->bind_param('i', $intAction);
$stmt->execute();
$intStatement = $stmt->num_rows();
$stmt->close;

/* Controlling part */
if($intStatement == 0)
{
$error[] = 1;
$bolean = true;
}
elseif(!ctype_digit($intAction))
{
$error[] = 2;
$bolean = true;
}
// Deleting and notifying
if($bolean == false)
{
$stmt = $mysqli->prepare("DELETE FROM logs WHERE id = ?");
$stmt->bind_param('i', $intAction);
$stmt->execute();
$stmt->close();

# Returning error code
$error[] = 100;
}

/* Returning the value in a readable way */
header('Content-Type: application/json');
echo json_encode($error);
}
?>

所以这不是我第一次在我的网站上做这个,但我也没有经常这样做,所以我认为我做错了很多事情。我提前感谢你们的帮助,顺便说一句,英语不是我的母语,所以对于任何语法/拼写错误的单词感到抱歉。

最佳答案

此行不正确:

var press = $.this.attr('id');

应该是:

var press = this.id;

或者:

var press = $(this).attr('id');

您还需要将 $.parseJSON 的结果分配给变量:

responseText = $.parseJSON(responseText);

或者您可以在 $.ajax() 调用中指定 dataType: 'json',jQuery 会自动为您解析响应。

关于javascript - PHP 和 AJAX 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25953451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com