jquery函数不重定向url

我正在使用codeigniter和jquery。 我正在使用ajax将一些信息发送到codeigniter函数以执行db操作,以便更新页面。 操作完成后,我正在尝试刷新页面。 但是,刷新工作不一致,通常我必须手动重新加载页面。 我发现萤火虫没有错误:

var message = $('#send_message').val() if ((searchIDs).length>0){ alert("searchIDs "+searchIDs ); $.ajax({ type: "POST", url: "AjaxController/update", data:{ i : searchIDs, m : message }, dataType: 'json', success: function(){ alert("OK"); }, complete: function() { location.href = "pan_controller/my_detail"; } }) .done(function() { // echo url in "/path/to/file" url // redirecting here if done alert("OK"); location.href = "pan_controller/my_detail"; }); } else { alert("nothing checked") } break; 

我怎样才能解决这个问题?

附录:我试过换到;

  $.ajax({ type: "POST", url: "AjaxController/update", data:{ i : searchIDs, m : message }, dataType: 'json', .done(function() { // echo url in "/path/to/file" url // redirecting here if done alert("REFRESHING.."); location.href = "pan_controller/my_detail"; }); } }) 

这只是默认网站主页。 再次,萤火虫没有错误

location.href上添加窗口对象,如下所示:

 window.location.href = "pan_controller/my_detail"; 

尝试使用完整路径

 $.ajax({a type: "POST", url: "YOURBASEPATH/AjaxController/update", data:{ i : searchIDs, m : message }, dataType: 'json', .done(function() { // echo url in "/path/to/file" url // redirecting here if done alert("REFRESHING.."); location.href = "YOURBASEPATH/pan_controller/my_detail"; }); } }) 

BASEPATH应该是这样的“ http://www.example.com

尝试禁用csrf_enabled(config / config.php)并尝试它。 如果可行,则重新启用保护,而不是自己编译数据,序列化表单; 或者,至少包括csrf隐藏字段codeigniter自动添加。 您也可以使用GET来避免CSRF保护,但这是最不可取的解决方案。