我有以下php codeigniter函数代码,它由jquery ajax函数调用:
$this->load->library('session');
$this->load->helper('url');
$ids = $_POST['i'];
$message = $_POST['m'];
var_dump($message);
var_dump($ids);
$sql = 'update replies set `response` = "'.$message.'" where id IN ('.implode( ',', $ids).')';
echo $sql;
R::exec($sql); // works normally to here
redirect($this->uri->uri_string());
我想在数据库插入'message'后刷新页面。但似乎没有任何事情发生。一切正常,包括数据库插入。我做错了什么?
答案 0 :(得分:1)
您无法通过AJAX网址重定向。使用回调函数可以重定向 三种方式,失败和永远。
示例:
$.ajax({
url: '/path/to/file',
type: 'default GET (Other values: POST)',
dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
data: {param1: 'value1'},
})
.done(function(url) { // echo url in "/path/to/file" url
// redirecting here if done
location.href = url;
})
.fail(function(url) { // echo url in "/path/to/file" url
// redirecting here if failed
location.href = url;
})
.always(function(url) { // echo url in "/path/to/file" url
// redirecting here always
location.href = url;
});
答案 1 :(得分:0)
关于你的ajax成功,在显示成功消息后使用它
window.location="path_to redirect";
例如我正在重定向到成员控制器
window.location="member";
希望这有帮助。