【发布时间】:2014-03-08 08:57:24
【问题描述】:
我正在使用 Code Igniter,并且我的视图中有以下 Javascript 函数。我试图从控制器中的处理函数中回显诸如“错误”之类的值,但“成功”代码总是在下面的这个函数中运行。
我是使用 echo 还是 return 来响应 AJAX 帖子?我为成功和失败返回什么价值?
<script>
function removeDatacenter(id)
{
var cfm = confirm("Do you wish to delete this datacenter?");
if (cfm==true)
{
$.ajax({
type: "POST",
url: "<?=base_url()?>datacenters/remove_handler.php",
data: { id: id },
success: function(result)
{
document.location.href = document.URL + "?result=success";
},
error: function(result)
{
document.location.href = document.URL + "?result=failed";
}}
);
}
};
</script>
【问题讨论】:
-
如果您在您的 removeDatacenter() 函数中回显某些内容,它是否可以作为您的处理程序中 AJAX 操作的响应?我依稀记得类似的东西......
-
你影响了 DOM。在你的 JavaScript 中返回值不会有任何好处,因为你的代码是异步运行的。当然,
echo是 PHP,它将是一个字符串,作为 JavaScriptresult参数传递,在success或error上。 -
请注意,
$.ajax()将尝试自动将从服务器发回的数据转换为 JSON,如果您使用 PHP 的echo json_encode($associativeArray)。您可以使用dataType属性来强制数据类型。
标签: javascript php jquery ajax post