2012-05-04 26 views
1

这可能是我的代码中的其他地方的问题,但我希望这里有一条线索。jQuery AJAX调用数据库工作,但不是为了

我正在使用jQuery AJAX调用来更新我的MySQL数据库,然后再读取数据库并更新我的页面上的表。我的问题是我正确更新数据库,但我的第二个AJAX调用(包装在一个函数中)正在返回旧数据。但是如果我再次启动这个功能,它可以很好地工作。

这里的第一个AJAX调用:

$.ajax ({ 
cache: false,     
type: 'POST',  
url: 'qry_creats_record.php', 
data: { 
     equipID : $('#equip_id').val(), 
     dateSent : $('#txt_to_repair').val(), 
     organization : $('#organization').val(), 
     success: function() { 
     ServiceTable($('#equip_id').val()); <--CALLS SECOND FUNCTION     
     } 
    }   
}); 

伟大的作品,完美地更新数据库。然后我想更新此功能的网页(称为我的第一个电话的“成功”部分):

function ServiceTable(equipID) { 
    var serviceRecords = $.ajax ({ 
    cache: false,     
    type: 'POST', 
    url: 'qry_show_repairs_table.php', 
    async: false, 
    data: { equip_id : equipID 
     }, 
    success: function() { 
     return data; 
    } 
}).responseText; 
$('#serviceRecordsTable').html(serviceRecords);  
} 

第二个功能也相当实用,更新页面元素“serviceRecordsTable”如果我把它叫做从一个按钮。但是当我从第一次调用的“成功”部分调用它时,它会返回旧的未更新数据。我在第二个函数中放置了一个'alert'框,以查看发生了什么,并确认该函数真的能够从我的数据库中看到旧的,预先更新的数据。但是,如果我从页面上的按钮激活第二个函数,第二个函数会使用新数据刷新我的页面。

真的卡住了。任何帮助表示赞赏。

回答

3

尝试这样的 -

$.ajax ({ 
cache: false,     
type: 'POST', 
url: 'qry_creats_record.php', 
data: { 
     equipID : $('#equip_id').val(), 
    dateSent : $('#txt_to_repair').val(), 
    organization : $('#organization').val(), 

}, 
    success: function(result) { 
    if(result=='success') { 
    ServiceTable($('#equip_id').val()); <--CALLS SECOND FUNCTION 
    }     
    }   
}); 

返回字符串 “成功” 从 'qry_creats_record.php'。

+0

就是这样。我犯了两个错误,我不太清楚'成功'的作用。非常感谢。 – Stanton