使用JQuery / CodeIgniter调用AJAX后评估返回的数据

时间:2010-01-31 03:02:16

标签: php jquery ajax codeigniter

编辑:

我发现我的评估问题无效。从我的codeIgniter函数返回的所有文本都有一个空格,所以当我看到“成功”时,它实际上是“成功”。我不知道为什么会这样,但我当然可以解决这个问题。

至于下一步 - 打开一个新观点 - Donny的答案是完美的!

<小时/>

我正在使用CodeIgniter为我的AJAX库使用JQuery的应用程序。我只是在学习AJAX的东西,所以我可能会遗漏一些基本的东西......

以下代码,如果是登录表单。

目标是这样 - 在表单提交上使用ajax调用,这样我就可以验证错误并在屏幕上提供错误消息而无需网页刷新。我正在使用CodeIgniter form_validation类进行所有验证。

我的codeigniter函数返回一个文本值 - 相应的错误消息或“成功”一词。我想评估文本值,如果它显示“成功”,则调用另一个ajax函数来加载所需的CodeIgniter函数,该函数将为登录用户加载主页。

现在一切都在下面的代码中工作,直到我得到声明“if data =='success'”。

当我知道它是真的时,为什么会返回false,因为屏幕上的消息显示“成功”?

$(document).ready(function() {
    $('#registration_form').submit(function(e) {
        e.preventDefault();
        $.post("login", {
            email : $('#email').val(),
            password : $('#password').val()
        }, function(data) {
            $('#message').text(data);

            if (data == "success") {
                alert(data);
                post("landingpage");
            }
        });
    });
});

1 个答案:

答案 0 :(得分:1)

您应该考虑使用jQuery form plugins来使用AJAX进行表单提交。

要进行重定向,请使用以下代码:

window.top.location.assign(URL);

URL是页面目标。如果您使用CI,则可以将其放入视图中:

window.top.location.assign("<?php echo site_url(THE_PAGE_URL); ");

另外,您可以在Firebug网络标签或Web Inspector资源标签(Safari和Google Chrome)中检查data值。