编辑:
我发现我的评估问题无效。从我的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");
}
});
});
});
答案 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
值。