ajax在尝试执行单独的php查询时返回当前页面

guicsvcw  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(323)

好吧,我有点困了。。。这是我的问题。所以,我想要实现的是我有一个js日历,我想要它做的是当我点击一个日期时,它获取当天的可用时间并显示出来,然后根据你点击的日期而改变,而不刷新页面。现在,环顾四周,我能做到这一点的唯一方法似乎是使用ajax(欢迎建议),尽管我以前从未接触过ajax,所以我不知道我在这里做什么。
所以我现在已经在我的Web服务器上安装了.htaccess文件来使用动态子域。
这有点像一个多步骤的表单,我在会话中收集数据。现在我猜的方法是,发送一个带有日期的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
提前谢谢。

enyaitl3

enyaitl31#

所以,我设法找出了问题所在。因为我的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);
      }
    });
});

相关问题