【发布时间】:2014-10-13 11:15:58
【问题描述】:
在我的简单 ajax 登录表单中。我尝试在 codeigniter 中使用 ajax 验证我的表单,并将消息作为 json 数据返回。
以下是我的代码。它给出了正确的输出。我的问题是
我在 form 和 ajax url 中都使用了提交路径。如果不在这两个地方都使用它,它将无法正常工作。这是一个好习惯吗?有没有其他方法可以做到这一点?
有什么建议吗?
view_login.php
<body>
<?php
$this->load->helper('form');
echo form_open('login/submit', 'id="login_form"');
echo form_input('name', '', 'id="name"');
echo form_password('password', '', 'id="password"');
echo form_submit('button', 'Submit', 'id="submit"');
echo form_close();
?>
</body>
custom.js
var url = 'http://localhost/ci_test_ajax/';
function user_login(data){
return $.ajax({
url: url+'login/submit',
type: 'POST',
async: false,
dataType: 'json',
data: data
});
}
$(function () {
var url = 'http://localhost/ci_test_ajax/';
$('#login_form').submit(function (e) {
e.preventDefault();
var data = $('form#login_form').serialize();
user_login(data).done(function(data){
console.log(data);
});
});
});
login.php中的提交函数
function submit()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'trim|xss_clean|required');
$this->form_validation->set_rules('password', 'Password', 'xss_clean|min_length[4]|required');
if($this->form_validation->run() == TRUE)
{
echo json_encode('yes');
}
else
{
echo json_encode('no');
}
}
【问题讨论】:
标签: php ajax codeigniter validation