Javascript Ajax调用太晚了。。。15秒后给出结果
我有一个jquery datepicker,它通过数据库中的ajax调用在选择日期时提供事件列表。。当我点击日期时,结果在15秒后显示得太晚…有人能建议我如何快速点击结果:-Javascript Ajax调用太晚了。。。15秒后给出结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个jquery datepicker,它通过数据库中的ajax调用在选择日期时提供事件列表。。当我点击日期时,结果在15秒后显示得太晚…有人能建议我如何快速点击结果:- var x = ''; $('#calendar').datepicker({ altField: '#datepicker_send', inline: true, firstDay: 1, showOtherMonths: true, altFormat: "yy/mm
var x = '';
$('#calendar').datepicker({
altField: '#datepicker_send',
inline: true,
firstDay: 1,
showOtherMonths: true,
altFormat: "yy/mm/dd",
dateFormat: "yy/mm/dd",
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
onSelect: function (dateText) {
$('#event-date').text(dateText)
x = dateText;
//alert(x);
$.ajax({
type: "GET",
url: 'check_events.php',
data: 'y=' + x,
success: function (data) {
$('#event-date1').html(data); //Alert Data on success not result.
// alert(data);
}
});
}
});
检查_events.php:-``
<? php
if (isset($_GET['y'])) {
$y = $_REQUEST['y'];
$sql_check = mysql_query("SELECT * FROM events WHERE date='$y'");
$res = mysql_num_rows($sql_check);
if ($res == 0)
{
echo '<div class="evnt_name"><a href="#">No Events For Today <a/> </div>';
} else
{
while ($rec = mysql_fetch_assoc($sql_check))
{
?>
< div > Some Result < /div>
<?php }
}
}
exit; ?>
我认为@JLevett建议将您的主机名从localhost更改为mysql连接字符串中的127.0.0.1。另外,在select查询中指定字段名,而不是*,这对性能没有多大改善,但会有所帮助。听起来好像是数据库阻碍了您-尝试在date
列中添加索引,使其select
更快?我在本地xampp中尝试了相同的代码。。它工作得很好,ajax调用以毫秒为单位给出结果。。。我对那个里的日期栏没有使用任何索引!!!我还读了一些不应该将索引用于小表的地方。。。。我的表数据非常小…我可以将其用于我的“日期”列吗?检查您的数据库连接,我以前遇到过问题,使用127.0.0.1而不是localhost可以更快地响应时间,这可能解释了为什么xamppYeah可以正常工作,我假设您的表一定很大,但是如果是一个小表,那一定是某种连接问题。我有不同的主机名。。我没有在服务器数据库连接中使用localhost…..更改了指定所需列名而不是*的select查询,但性能没有更改…..您是否尝试过直接在浏览器中运行页面您的url/Check_events.php?y=2014-11-6ya尝试过url/Check_events.php?y=2014/11/14。。。执行时间减少了一点,但没有用…我的意思是,你是否在浏览器中打开了该页面?如果是,该页面加载缓慢,则这是主机的问题。是的,我在浏览器中单独打开了带有日期的结果页面…速度有点慢。。。与日历页的执行相比,没有那么慢。。。。