javascript - 对同一页面的 AJAX 调用,无需页面刷新
问题描述
我已经遇到这个问题大约一周了,我似乎无法获得 AJAX 调用来与 PHP 进行通信。这是我为这个问题制作的示例代码
<!DOCTYPE html>
<html>
<head>
<style>
#showInfo
{
height: 100px; width: 400px;
text-align: center;
border: 2px solid darkslategray;
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
margin: auto;
cursor: pointer;
}
#showInfo p
{
font-size: 25px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#showInfo").click(function() {
$.ajax({
type: "POST",
data: { imageDir: "hello" },
success: function(data) {
alert("success");
console.log(data);
},
error: function(data) { alert("error"); }
});
return false;
});
});
</script>
</head>
<body>
<div id="showInfo">
<p> Show "defaultPfp.jpg" directory </p>
</div>
<?php
if (isset($_POST['imageDir']))
echo 'worked';
else
{
echo 'didnt work';
}
?>
</body>
</html>
为了澄清起见,我希望此代码能够在单击 #showInfo div 后发送 AJAX 调用。从这里开始,问题就出现了。我认为页面中的 PHP 不会刷新以收集 AJAX 调用的数据。如果这是问题所在,我不知道该怎么做。
除此之外,我尝试在 AJAX 调用之前和之后添加 event.preventDefault() ,并且我尝试添加一些 ob_flush() 调用,但都没有成功。任何帮助是极大的赞赏。
编辑:正在发生的一个问题是 AJAX 调用中的变量数据无法正常运行。console.log(data) 返回整个 HTML 页面,我不知道为什么。
解决方案
推荐阅读
- c# - 如何使用刚体与碰撞游戏对象?
- java - 如何获取用户输入并将其存储到 HashMap 并分别创建两个键以打印出来?
- postgresql - 如何阻止postgres显示包含数千行的表中的所有行
- python - Tensorflow 2.0 不计算梯度
- html - 使用 PowerShell 从草稿模板发送带有图像的 Outlook 电子邮件
- python - 对象在 for ... 语句中使用或运算符读取为列表,但使用和运算符读取为布尔值
- java - Java 独立应用程序 - 如何读取 (http) cookie
- php - Laravel Config::set() 似乎不适用于排队作业
- rstudio - 如何检查在 R Studio 中运行的脚本的进度?
- mysql - MySQL MIN 查询不适用于计算的距离