【发布时间】:2014-09-11 17:55:41
【问题描述】:
下午好,请先原谅我的英语,我想知道你能否帮助我解决这个错误。
我的 jquery-ajax-post 网址有误:
萤火虫中的错误是:
POST .../nomina4/login/validation 404 Not Found x 19ms
- 我使用 CodeIgniter + Apache + Debian
Apache2.conf
允许全部覆盖
- 服务器有内部和外部ip地址
- Codeigniter的配置文件为:
$config['base_url'] = '/nomina4/'; $config['index_page'] = '';
- 隐藏index.php的.htaccess配置
RewriteEngine On
RewriteBase /nomina4/
RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /nomina4/index.php
</IfModule>
- 带有输入用户和密码的脚本,位于文件夹视图的 login_view.php 文件中。
$(document).ready(function() {
$("#btn").click(函数(事件) {
event.preventDefault(); $.ajax({ url: '<?=base_url()?>login/validation', type: 'post', data: {user: $('#user').val()} }) .done(function(data) { console.log(data); }) .fail(function(data) { console.log(data); });}); // 结束点击 BTN
}); // 结束准备
-
这是控制器
class Login extends CI_Controller { function __construct(){ parent::__construct(); } public function index() { $data['container'] = 'login_view'; $data['title'] = 'Iniciar Sesión'; $this->load->view('template', $data); } public function validation() { $user = $this->input->post("user"); echo json_encode($user); }}
尝试更改 .htaccess 并查看有类似错误但未找到解决方案的人。
感谢您的帮助。
代码端客户端:views/login_view.php
<link rel="stylesheet" href="<?=base_url()?>assets/css/login_style.css">
<!-- BEGIN LOGIN -->
<div class="login">
<!-- BEGIN LOGO -->
<div class="logo">
<!-- <a href="" class="brand"> -->
<img src="<?=base_url()?>assets/img/logo.png" height="280px">
<!-- </a> -->
</div>
<!-- END LOGO -->
<!-- BEGIN LOGIN -->
<div class="content">
<!-- BEGIN FORM -->
<form action="<?=base_url()?>login/validation" class="form-vertical login-form" method="post">
<h3>Inicio de sesión</h3>
<br>
<div class="control-group">
<div id="msg_user">
<div class="input-icon left">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input type="text" name="user" id="user" class="input form-control" placeholder="Usuario" required>
</div>
</div>
</div>
<br>
<div id="msg_pwd">
<div class="input-icon left">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input type="password" name="pwd" id="pwd" class="input form-control" placeholder="Contraseña" required>
</div>
</div>
</div>
<br>
<button class="input btn pull-right" type="submit" id="btn">
Ingresar
<i class="glyphicon glyphicon-log-in"></i>
</button>
<br><br>
</div>
</form>
<!-- END FORM -->
</div>
<!-- END LOGIN -->
<br>
<!-- BEGIN MESSAGE VALIDATION-->
<div class="message_validation" id="message_validation">
<div class="alert alert-danger" role="alert">
<h5><strong>Mensaje de Error: </strong><div id="message"></div></h5>
</div>
</div>
<!-- END MESSAGE VALIDATION-->
</div>
<!-- END LOGIN -->
<!-- BEGIN ANIMATION -->
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").click(function(event) {
event.preventDefault();
console.log("base_url() = "+"<?=base_url()?>");
$.ajax({
url: '<?=base_url()?>login/validation',
type: 'post',
data: {user: $('#user').val()}
})
.done(function(data) {
console.log(data);
})
.fail(function(data) {
console.log(data);
});
}); // END CLICK BTN
}); // END READY
</script>
<!-- END ANIMATION -->
这是 Crtl + U
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="/nomina4/assets/img/logo_ico.jpg">
<link rel="stylesheet" href="/nomina4/assets/bootstrap3/css/bootstrap.css">
<title>WEBNÓMINAS</title>
</head>
<body><link rel="stylesheet" href="/nomina4/assets/css/login_style.css">
<!-- BEGIN LOGIN -->
<div class="login">
<!-- BEGIN LOGO -->
<div class="logo">
<!-- <a href="" class="brand"> -->
<img src="/nomina4/assets/img/logo.png" height="280px">
<!-- </a> -->
</div>
<!-- END LOGO -->
<!-- BEGIN LOGIN -->
<div class="content">
<!-- BEGIN FORM -->
<form action="/nomina4/login/validation" class="form-vertical login-form" method="post">
<h3>Inicio de sesión</h3>
<br>
<div class="control-group">
<div id="msg_user">
<div class="input-icon left">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input type="text" name="user" id="user" class="input form-control" placeholder="Usuario" required>
</div>
</div>
</div>
<br>
<div id="msg_pwd">
<div class="input-icon left">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
<input type="password" name="pwd" id="pwd" class="input form-control" placeholder="Contraseña" required>
</div>
</div>
</div>
<br>
<button class="input btn pull-right" type="submit" id="btn">
Ingresar
<i class="glyphicon glyphicon-log-in"></i>
</button>
<br><br>
</div>
</form>
<!-- END FORM -->
</div>
<!-- END LOGIN -->
<br>
<!-- BEGIN MESSAGE VALIDATION-->
<div class="message_validation" id="message_validation">
<div class="alert alert-danger" role="alert">
<h5><strong>Mensaje de Error: </strong><div id="message"></div></h5>
</div>
</div>
<!-- END MESSAGE VALIDATION-->
</div>
<!-- END LOGIN -->
<!-- BEGIN ANIMATION -->
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").click(function(event) {
event.preventDefault();
console.log("base_url() = "+"/nomina4/");
$.ajax({
url: '/nomina4/login/validation',
type: 'post',
data: {user: $('#user').val()}
})
.done(function(data) {
console.log(data);
})
.fail(function(data) {
console.log(data);
});
}); // END CLICK BTN
}); // END READY
</script>
<!-- END ANIMATION --></body>
</html>
【问题讨论】:
-
我想我理解了“Buenos días”,但其余文字没有这样的运气......
-
die('english please'); -
我的 firebug 中有一个错误:post .../nomina4/login 404 not found 我正在使用 codeigniter + jquery ajax post 我的 ajax 不起作用,我编辑了 .htaccess 但什么也没有跨度>
-
这个问题似乎是题外话,因为它不是用英文写的。在 StackOverflow 上发布的问题必须使用正确的英语拼写和语法编写。
标签: php jquery ajax codeigniter post