尝试执行单独的 PHP 查询时 AJAX 返回当前页面
Posted
技术标签:
【中文标题】尝试执行单独的 PHP 查询时 AJAX 返回当前页面【英文标题】:AJAX returning current page when trying to execute separate PHP query 【发布时间】:2020-10-25 07:51:41 【问题描述】:好吧,我有点卡住了……这是我的问题。所以,我想要实现的是我有一个 JS 日历,我想要它做的是当我点击一个日期时,它会获取当天可用的时间并显示它,然后根据你点击的日期进行更改在不刷新页面的情况下。现在,环顾四周,我似乎可以做到这一点的唯一方法是使用 AJAX(欢迎提出建议),虽然我以前从未接触过 AJAX,所以不知道我在这里做什么。
所以我目前已经在我的网络服务器上设置了我的 .HTACCESS 文件以使用动态子域。
这有点像一个多步骤的表格,我正在 SESSION 中收集数据。现在我猜测的方法是在这里,发送一个带有日期的 JS 变量的 AJAX 查询,然后运行 SQL 查询并获取时间并显示它们。这是我目前所拥有的。
<a href="#" id="clickme">Update Session</a>
<div class="output"><?php echo $_SESSION["outputTimes"]; ?></div>
<script>
$("#clickme").click(function(e)
e.preventDefault();
$.ajax(
type:'POST',
url:'data.php',
data: date: '2020-07-04',
success:function(response)
alert(response);
);
);
</script>
数据.php
<?php
//Start Session
session_start();
//Include Database Config
include ("config.php");
//POST
$requestDate = $_POST["date"];
//Define SQL Query
$app_get_sql = "SELECT * FROM cc_av WHERE date=$requestDate";
//Run Query
if($result = mysqli_query($db_connect, $app_get_sql))
while($row = mysqli_fetch_assoc($result))
$_SESSION["outputTimes"] = '<li>'.$row["time"].'</li>';
?>
目前,当我运行它时,我在 alert() 中得到响应,作为我所在页面的当前代码。因此,为什么我会注意到我的 HTACCESS,尽管我可以使用相同的根目录来包含()它。另外,从data.php的结果来看,我将如何输出代码来更新目前的内容。
这是我正在尝试创建的...
https://drive.google.com/file/d/1bgxSUxN6j2IOZcQBuAOo-PeCsuRgdmZ-/view?usp=sharing
提前致谢。
【问题讨论】:
您没有向输出缓冲区回显任何内容..? @Teemu 你是什么意思? 您没有将任何内容放入将作为响应发送的输出缓冲区(即没有echo
或print
...),您只是为多次相同的会话变量,一次又一次地覆盖它......
@Teemu 我将在哪里实现这个?我已经在 html 中回显了 session["outputTimes"]?
在提供的代码中你没有任何回声,你只是设置了一个会话变量。还要注意达曼所说的话。
【参考方案1】:
所以,我已经设法弄清楚出了什么问题。因为我的 HTACCESS 文件正在创建子域,它还重定向了路径,所以在 AJAX 代码中我使用了代码的 URL,然后在需要请求的文件上向我的 PHP 代码添加了标题。
header("Access-Control-Allow-Origin: (URL NEEDING TO BE REQUESTED)");
最终的 AJAX 代码
var scriptString = 'THISISMYSTRING';
$('#clickMe').click(function()
$.ajax(
method: 'get',
url: '(URL)/data.php',
data:
'myString': scriptString,
'ajax': true
,
success: function(data)
$('#data').text(data);
);
);
【讨论】:
以上是关于尝试执行单独的 PHP 查询时 AJAX 返回当前页面的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP、Ajax、jQuery 将当前 DOM 保存到服务器上的文件?
如何使用 PHP 为 JQuery .ajax() 返回正确的成功/错误消息?