javascript - 使用 jQuery 和 AJAX 更新 SQL 时出现问题
问题描述
我对这个应用程序有一个特殊的问题。它不会始终更新列,并且没有关于何时更新以及何时不更新的规则。似乎完全随机,并没有让我回到 admin.php 页面。
此外,当它确实更改/更新数据库中的条目时,它不会向 Ajax 发送响应 (alert('OK'))。下面的代码:
--this is admin.php
<div class="update" style="display:none">
<form method="post" action="adminFunctions.php">
<div class="input-group">
<label>new name</label>
<input class='newNameInput' type="text" name="newName" >
</div>
<div class="input-group">
<label>new last name</label>
<input class='newLastNameInput' type="text" name="newLastName">
</div>
<div class="input-group">
<button type="submit" class="btn changePerson" name="changePerson">change</button>
</div>
</form>
</div>
然后是jQuery:
$(document).ready(function(){
var changeId;
$('.changeMe').click(function () {
var el = this;
var id = this.id;
var splitid = id.split("_");
changeId = splitid[1];
$('.update').css('display', 'block');
});
$('.changePerson').click(function () {
var newNameFor = $('.newNameInput').val();
var newLastNameFor = $('.newLastNameInput').val();
$.ajax({
url: './adminFunctions.php',
type: 'POST',
data: 'changeSth=' + changeId + '&newName=' + newNameFor + '&newLastName=' + newLastNameFor,
success: function(response) {
if(response == 1) {
alert('OK');
} else {
console.log('entry update failed');
}
}
})
});
});
--and adminFunctions.php
if(isset($_POST['changeSth'])) {
$id = $_POST['changeSth'];
$newName = $_POST['newName'];
$newLastName = $_POST['newLastName'];
changeEntry($id, $newName, $newLastName);
}
function changeEntry ($id, $newName, $newLastName) {
global $testConn;
if($id) {
$query = "UPDATE people SET firstName='$newName', lastName='$newLastName' WHERE id=$id";
mysqli_query($testConn, $query);
header('location: admin.php');
echo 1;
} else {
echo 0;
}
header('location: admin.php');
}
提前致谢!
解决方案
您正在发出 AJAX 请求,并且不需要服务器端重定向。如果你真的想这样做,你必须从 JS 端重定向它。请header('location: admin.php');
从您的 PHP 代码中删除。
推荐阅读
- arrays - 如何在打字稿中定义一个常量数组
- reactjs - 在知道 id 时添加 refs 以响应组件
- javascript - 研究什么来解决这类问题?
- php - WP 站点某些 url 重定向到 WP 中的外部 URL
- laravel - 永久 Cookie 包含敏感会话信息 Laravel 使用 Appscan 安全工具
- django-views - django动态过滤不返回预期结果
- r - 使用滑动窗口匹配两个数据帧的字符串
- javascript - 在 datepicker 上工作并尝试在 datepicker 上禁用周日星期一
- javascript - 节点JS | 多个连接连接到 API 时 MS API 面临问题
- python - Django 自定义身份验证后端不起作用