基本ajax获取请求

发布于 2024-12-08 21:10:08 字数 497 浏览 0 评论 0原文

我正在制作一个带有 2 个链接的日历,一个用于返回一个月,另一个用于前进一个月。

这是我的 cal.php 文件:

<div class='cal_wrapper' id='cal'>
 <?php
   echo "<a href='cal.php?month=m&year=y'>Prev Month</a>";
   echo "<a href='cal.php?month=m&year=y'>Next Month</a>";

   echo $calendar;

 ?>
 </div>

我想做的是使用 jquery/ajax 更新 cal_wrapper div 内的内容,而无需刷新页面。我很努力地寻找,但找不到任何不使用 HTML 表单即可完成此操作的示例。我如何通过 GET 请求发送 2 个变量,月份和年份,应该是非常基本的..但是我会斗鸡眼试图在互联网上找到一些东西..

I'm making a calendar with 2 links, one to go back a month and the other to go forward a month.

This is my cal.php File:

<div class='cal_wrapper' id='cal'>
 <?php
   echo "<a href='cal.php?month=m&year=y'>Prev Month</a>";
   echo "<a href='cal.php?month=m&year=y'>Next Month</a>";

   echo $calendar;

 ?>
 </div>

What I'm trying to do is to use jquery/ajax to update the what's inside the cal_wrapper div without having to refresh the page. I've look hard but can't find any examples of getting this done without using an HTML form. How can I send 2 variables through a GET request, month and year, should be pretty basic..but I'm going cross eyed trying to find something on the internets..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゃ懵逼小萝莉 2024-12-15 21:10:08

首先提供链接类,

echo "<a class='month_selector' href='cal.php?month=m&year=y'>Prev Month</a>";
echo "<a class='month_selector' href='cal.php?month=m&year=y'>Next Month</a>";

然后每当单击其中一个链接时,将 ajax 请求的内容加载到包装器 div 中。

$('#cal_wrapper a.month_selector').live(function(e){
     $('#cal_wrapper').load( $(this).attr('href') ); 
     e.preventDefault(); 
}); 

编辑您可以使用 .load 使用 #wrapper_div 加载页面片段,

$('#cal_wrapper a.month_selector').live('click', function(e){
     $('#cal_wrapper').load( $(this).attr('href') + ' #wrapper_div' ); 
     e.preventDefault(); 
}); 

因此将 cal_wrapper div 包装在 #wrapper_div 中,上面的代码将仅加载包装 div 的内容。使用实时而不是点击,因为您是动态插入链接。

First give your link classes

echo "<a class='month_selector' href='cal.php?month=m&year=y'>Prev Month</a>";
echo "<a class='month_selector' href='cal.php?month=m&year=y'>Next Month</a>";

Then load the contents of the ajax request into the wrapper div whenever one of those links has been clicked.

$('#cal_wrapper a.month_selector').live(function(e){
     $('#cal_wrapper').load( $(this).attr('href') ); 
     e.preventDefault(); 
}); 

EDIT you can use .load to load page fragments using the #wrapper_div

$('#cal_wrapper a.month_selector').live('click', function(e){
     $('#cal_wrapper').load( $(this).attr('href') + ' #wrapper_div' ); 
     e.preventDefault(); 
}); 

So wrap your cal_wrapper div in #wrapper_div and the code above will only load the contents of wrapper div. Use live instead of click since you are dynamically inserting the links.

拿命拼未来 2024-12-15 21:10:08

只是纠正上面的答案。您需要使用 jquery 方法“live”,因为 cal_wrapper div 的内容会更改(每当您单击“下一个/上一个”链接时)

将下面的内容放在“主文件”中。第一次加载(在 onready 内)将加载第一个月和第一年。

<script type="text/javascript">

$(document).ready(function() {
    $('.call_wrapper').load('cal.php?month=m&year=y');

    $('.cal_wrapper a.pagination').live('click', function(){
        var link = $(this).attr('href');
        $('.cal_wrapper').load(link); 
        e.preventDefault();
    });
});

</script>

<div class='cal_wrapper' id='cal'></div>

还有你的 cal.php (删除其中的 div 标签)

<?php
    echo "<a class="pagination" href='cal.php?month=m&year=y'>Prev Month</a>";
    echo "<a class="pagination" href='cal.php?month=m&year=y'>Next Month</a>";

    echo $calendar;
?>

Just correcting the answer above. You need to use the jquery method "live", because the content of the cal_wrapper div will change (whenever you click on 'next/prev' link)

Put the contents below in a "main file". The first load (inside onready) will load the first month and year.

<script type="text/javascript">

$(document).ready(function() {
    $('.call_wrapper').load('cal.php?month=m&year=y');

    $('.cal_wrapper a.pagination').live('click', function(){
        var link = $(this).attr('href');
        $('.cal_wrapper').load(link); 
        e.preventDefault();
    });
});

</script>

<div class='cal_wrapper' id='cal'></div>

And your cal.php (remove the div tag from inside it)

<?php
    echo "<a class="pagination" href='cal.php?month=m&year=y'>Prev Month</a>";
    echo "<a class="pagination" href='cal.php?month=m&year=y'>Next Month</a>";

    echo $calendar;
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文