Javascript Ajax codeigniter,成功时加载速度过快。完成
我使用ajax只工作了不到一周,现在尝试将其与codeigniter一起使用,以创建一个相当复杂的ajax菜单系统。用户可以在菜单系统上添加新的部分。我将ajax代码发布到数据库中,并成功地将其添加到菜单系统中。我遇到的问题是,在对数据库进行更新之前,代码正在运行。因此,在添加之前,我没有得到新的菜单部分,而是得到了最新菜单的副本。如果我稍等片刻,然后使用ajax调用附带的按钮手动进行调用,而不是使用 这是我的ajax电话Javascript Ajax codeigniter,成功时加载速度过快。完成,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我使用ajax只工作了不到一周,现在尝试将其与codeigniter一起使用,以创建一个相当复杂的ajax菜单系统。用户可以在菜单系统上添加新的部分。我将ajax代码发布到数据库中,并成功地将其添加到菜单系统中。我遇到的问题是,在对数据库进行更新之前,代码正在运行。因此,在添加之前,我没有得到新的菜单部分,而是得到了最新菜单的副本。如果我稍等片刻,然后使用ajax调用附带的按钮手动进行调用,而不是使用 这是我的ajax电话 // this is attached to my form to ad
// this is attached to my form to add a menu section
$(function(){
$('#add_category_form').submit(function(evnt){
evnt.preventDefault();
var posting = $.post(base_url+"/menu/add_category", $("#add_category_form").serialize());
posting.done(newCategory());
});
//calls view to generate menu section
function newCategory(){
$.ajax({
'url' : base_url + '/' + controller + '/new_category',
'type' : 'POST', //
'success' : function(data){
var container = $('#testcontainer');
if(data){
container.html(data);
}
}
});
}
//查看
Ajax延迟
如果您想使用ajax延迟方法,您可以这样做
(function($){
$('#add_category_form').submit(function( event ){
event.preventDefault();
var _data = this.serialize();
doSomething( _data ).then(
function( response ){}, // Success
function( error, code){} // Error
);
});
var doSomething = function( data ){
return $.ajax({
url : base_url + "/menu/add_category",
data : data,
type : 'POST',
dataType : 'html'
}).promise();
};
}(jQuery));
您是否尝试过ObjectObject您是否仅在上面的帖子中看到的函数的其他函数中使用了
newCategory()
?newCategory仅在上面的帖子中使用。我已经试过了。我也答应过。谢谢你的建议,但效果不太好。最后,我使用setTimeout让函数调用暂停半秒,这一点现在已经奏效了。我的问题一定在别的地方。
(function($){
$('#add_category_form').submit(function( event ){
event.preventDefault();
var _data = this.serialize();
doSomething( _data ).then(
function( response ){}, // Success
function( error, code){} // Error
);
});
var doSomething = function( data ){
return $.ajax({
url : base_url + "/menu/add_category",
data : data,
type : 'POST',
dataType : 'html'
}).promise();
};
}(jQuery));