【问题标题】:getting post data from jQuery Ajax从 jQuery Ajax 获取帖子数据
【发布时间】:2013-08-21 14:40:03
【问题描述】:

我遇到了 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>

【问题讨论】:

    标签: jquery codeigniter calendar


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 拍摄,我错过了!
    • 我的 jQuery 代码在页面的正文中。这可能是它不起作用的原因吗?
    • 不,它实际上就在页脚标签之前 -
    【解决方案2】:
    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

    【讨论】:

    • 在控制台中查看响应内容,看看您的 url 文件和 url 中是否有任何错误,为什么您使用 window.location 我认为这会导致问题,请在您的控制台中查看,我认为它会帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2021-12-05
    • 1970-01-01
    • 2018-04-25
    • 2016-10-04
    • 2015-11-11
    • 2012-06-14
    相关资源
    最近更新 更多