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保护,但这是最不可取的解决方案。