【发布时间】:2014-09-02 21:27:11
【问题描述】:
我有以下由 jquery ajax 函数调用的 php codeigniter 函数代码:
$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());
我想在数据库插入“消息”后刷新页面。但是似乎什么也没发生。一切正常,包括数据库插入。我做错了什么?
【问题讨论】:
-
AJAX 调用服务器上的资源,服务器处理响应并触发重定向,除非您告诉它,否则 AJAX 不关心这一点。如果您想这样做,您应该从 PHP 返回 URL 并使用 AJAX 成功回调通过 Javascript 重定向。或者只是在没有 AJAX 的情况下正常发布到 PHP 并让 PHP 进行重定向。
-
感谢 Scrowler,“如果你想这样做,你应该从 PHP 中返回 URL 并使用 AJAX 成功回调通过 Javascript 重定向。”我对 jquery/js 不是很了解。你能进一步解释一下如何做到这一点吗?
-
以下面的例子为例,但是将“url”作为参数放入回调函数中:
function(url){},然后是location.href = url;,然后在PHP中你将只是echo 'http://myurl.com';。最后,一旦你完成了所有这些工作,用 JS 做更多的错误检查,以确保你得到了你期望的结果。
标签: php jquery ajax codeigniter