jQuery的AJAX调用数据库的工作,而不是为了(jQuery AJAX calls to dat

2019-09-17 01:00发布

这可能是一个问题,其他地方在我的代码,但我希望这里有一个线索。

我使用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”如果我把它从一个按钮。 但是,当我把它从第一次调用的“成功”的一部分,它返回旧的,非更新的数据。 我把一个“警告”框在我的第二个功能,看看发生了什么事情,并确认功能真的是从我的数据库看到老,更新前的数据。 但是,如果我从网页上的按钮激活第二功能,第二功能刷新我的网页使用新的数据。

难住了。 任何帮助表示赞赏。

Answer 1:

尝试这样的 -

$.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”的“成功”。



文章来源: jQuery AJAX calls to database work, but not in order