我遇到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>
答案 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