从jQuery Ajax获取发布数据

时间:2013-08-21 14:40:03

标签: jquery codeigniter calendar

我遇到ajax没有按预期发布数据的问题, 我正在使用Codeigniter日历库,并为每个表行和表数据标记添加了类 这样,当您单击任何表格单元格时,下面的代码将会触发。 不确定出了什么问题

这是代码:

<script type="text/javascript">

$('.calendar .day').click(function(){
  get_day_num();
});

function get_day_num()
{
  //this alert shows 'undefined' ??
  alert($(this).find('.day').html());
  //values being passed to sendValue are probably 'undefined' - why?        
  sendValue($(this).find('.day_num').html(),$(this).find('.content').html())
}

function sendValue(day_num,day_data)
{
  $.ajax({
  url: window.location,
  type: 'POST',
  data: {
    day: day_num,
    data: day_data
  },
  complete: function(msg)
  {
    location:reload();
  }
});
}
</script>

2 个答案:

答案 0 :(得分:1)

假设script标记位于页面的head中,则需要将代码包装在文档就绪处理程序中。

<script type="text/javascript">
    $(function() {
        // your code here...
    });
</script>

此外,this函数中的get_day_num将是window,而不是点击的元素。您需要将元素传递给函数,或者使用函数引用作为处理程序。试试这个:

$('.calendar .day').click(get_day_num);

答案 1 :(得分:0)

function sendValue(day_num,day_data)
{
  $.ajax({
  url: window.location,
  type: 'POST',
  data: {
    day: day_num,
    data: day_data
  },
  complete: function(msg)// here use success not complete in complete it comes every time whether out put come or not
  {
    location:reload();
  }
});
}

参考ajax