Javascript 即使请求成功,Ajax也会返回404
问题是,我正在使用ajax请求对数据库表中的几行进行更新,当我尝试确保更新成功时,它返回404头,我转到网络工具,看到404,如下面的屏幕截图所示: 这是我为js和php编写的代码 PHP:Javascript 即使请求成功,Ajax也会返回404,javascript,php,mysql,ajax,http-status-code-404,Javascript,Php,Mysql,Ajax,Http Status Code 404,问题是,我正在使用ajax请求对数据库表中的几行进行更新,当我尝试确保更新成功时,它返回404头,我转到网络工具,看到404,如下面的屏幕截图所示: 这是我为js和php编写的代码 PHP: 同意@charlietfl,else语句在AJAX响应中毫无意义。@charlietfl不,这不是问题所在,我刚刚试过,我这样做是为了重定向用户,如果他们热链接这个文件404将意味着找不到ajax/update\u ads.php——开发者工具网络选项卡中POST请求的整个URL是什么?那么请求发送到的实
同意@charlietfl,else语句在AJAX响应中毫无意义。@charlietfl不,这不是问题所在,我刚刚试过,我这样做是为了重定向用户,如果他们热链接这个文件404将意味着找不到ajax/update\u ads.php
——开发者工具网络选项卡中POST请求的整个URL是什么?那么请求发送到的实际URL是否与您期望的路径相同?可能需要更改为var url='/ajax/update_ads.php'代码>如果ajax目录位于根目录下level@charlietfl是的,更新查询进行得很顺利,我查看了数据库,我给值添加了种子,但是响应是404!这没有任何意义
<?php
include("../../db_connect.php");
if(isset($_POST['ads_left'])) {
$ads_left = mysqli_real_escape_string($connect , $_POST['ads_left']);
$ads_right = mysqli_real_escape_string($connect , $_POST['ads_right']);
$ads_top = mysqli_real_escape_string($connect , $_POST['ads_top']);
$ads_bottom = mysqli_real_escape_string($connect , $_POST['ads_bottom']);
$ads_left = htmlentities($ads_left);
$ads_right = htmlentities($ads_right);
$ads_top = htmlentities($ads_top);
$ads_bottom = htmlentities($ads_bottom);
$ads_array = array();
$ads_array[0] = $ads_top;
$ads_array[1] = $ads_right;
$ads_array[2] = $ads_bottom;
$ads_array[3] = $ads_left;
for ((int) $i = 0 ; $i<4 ; $i++) {
$j = $i+1;
$ins_ads_query = "UPDATE ads SET code = '$ads_array[$i]' WHERE id = '{$j}'";
$result_ads = mysqli_query($connect , $ins_ads_query);
}
} else {
header("Location: ../index.php");
}
?>
var adsTop = document.getElementById('top');
var adsRight = document.getElementById('right');
var adsBottom = document.getElementById('bottom');
var adsLeft = document.getElementById('left');
var adsSubmit = document.getElementById("ads_submit");
function updateAds(e) {
e.preventDefault();
adsSubmit.innerHTML = "Saving <i class=\"fa fa-circle-o-notch fa-spin\" style=\"font-size:24px\"></i>";
var http = new XMLHttpRequest();
var url = 'ajax/update_ads.php';
var params = 'ads_top='+adsTop.value+'&ads_right='+adsRight.value+'&ads_bottom='+adsBottom.value+'&ads_left='+adsLeft.value;
http.open('POST', url, true);
//Send the proper header information along with the request
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
http.send(params);
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
adsSubmit.innerHTML = "Saved <span class=\"glyphicon glyphicon-floppy-saved\"></span>";
}
}
}
adsSubmit.addEventListener('click' , function(e) {
updateAds(e);
});