代码之家  ›  专栏  ›  技术社区  ›  user158017

使用jquery/codeigner评估Ajax调用后返回的数据

  •  0
  • user158017  · 技术社区  · 15 年前

    编辑:

    我发现我的评估不起作用。从codeigner函数返回的所有文本前面都有一个空格,所以当我看到“成功”时,实际上是“成功”。我不知道为什么会这样,但我肯定能做到。

    至于下一步——打开新的视野——唐尼的回答是完美的!


    我正在使用CodeIgniter为我的Ajax库使用jQuery的应用程序。我只是在学习Ajax的东西,所以我可能缺少一些基本的东西…

    以下代码用于登录表单。

    这样做的目的是-在表单提交时使用Ajax调用,这样我就可以在不刷新网页的情况下验证错误并在屏幕上提供错误消息。我正在用CodeIgniter表单验证类进行所有验证。

    我的codeIgniter函数返回一个文本值——一条适当的错误消息或一个词“success”。我想评估文本值,如果它说“success”,调用另一个Ajax函数来加载所需的codeIgniter函数,该函数将为登录用户加载主页。

    现在,下面的代码中的所有内容都可以正常工作,直到我看到语句“if data='success'”。

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

    $(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 回复  |  直到 15 年前
        1
  •  1
  •   Donny Kurnia    15 年前

    你应该考虑使用 jQuery form plugins 使用Ajax进行表单提交。

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

    window.top.location.assign(URL);
    

    URL是页面目标。如果使用CI,可以将其置于视图中:

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

    此外,您还可以检查 data Firebug网络选项卡或Web Inspector资源选项卡(Safari和Google Chrome)中的值。