【问题标题】:Evaluating Returned Data after AJAX call with JQuery/CodeIgniter使用 JQuery/CodeIgniter 评估 AJAX 调用后返回的数据
【发布时间】:2011-01-11 08:11:29
【问题描述】:

编辑:

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

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


我将 CodeIgniter 用于我的 AJAX 库的 JQuery 应用程序。我只是在学习 AJAX 的东西,所以我可能在这里遗漏了一些基本的东西......

以下代码用于登录表单。

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

我的 codeigniter 函数返回一个文本值 - 一个适当的错误消息或单词“成功”。我想评估文本值,如果它显示“成功”,则调用另一个 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");
            }
        });
    });
});

【问题讨论】:

  • 您是否已在客户端验证数据变量的值是否为 'success' ?在那里放一个警报以查看换行符或其他任何内容.. 执行alert('-' + data + '-'); 并查看它是否会发出警报-成功-但在您检查之前执行此操作..
  • 行 $('#message').text(data);将我网页上的值更改为包含的任何数据。它确实显示值“成功”。但不显示警报。

标签: php jquery ajax codeigniter


【解决方案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 值。

【讨论】:

  • 感谢您的建议。快速提问 - 表单插件的特殊优势是什么?我会看看他们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
相关资源
最近更新 更多