在jquery窗体验证ajax没有响应
问题描述:
我想验证我的代码与jQuery。它的工作,但当它来到ajax它不加载任何页面。相反,我的路径是错误的或其他的东西。请帮我解决这个问题。在jquery窗体验证ajax没有响应
这是我的看法文件
admin_view.php
<?php include('assets/header.php'); ?>
<div class="container">
<h1>Welcome to Admin Login</h1>
<?if($this->session->flashdata('flashError')):?>
<p class='flashMsg flashError'>
<?= $this->session->flashdata('flashError') ?> </p>
<?endif?>
<!-- new line inserted -->
<form method="post" name="myForm" accept-charset="utf-8" class="login" id="form" >
<div class="form-group">
<div class="col-xs-4">
<!--<label for="admin">Admin</label>
<input type="text" name="admin" class="form-control" id="admin" value="" placeholder="admin name" />-->
Admin Name: <input type="text" name="admin" id="admin" class="form-control" value="<?php echo set_value('admin'); ?>" placeholder="admin name" >
<?php echo form_error("admin"); ?>
<p id='p1'></p>
<br>
<!-- <label for="password">password</label>
<input type="text" name="password" class="form-control" id="password" value="" placeholder="password" required/>
-->
Admin Password: <input type="password" name="password" id="password" class="form-control" value="" placeholder="password" >
<?php echo form_error("password"); ?>
<p id='p2'></p>
<br>
<br>
<input type="button" name="submit" value="submit" id="submit" class="btn btn-primary" >
</div>
</div>
<div class="error"></div>
</form>
</div>
<script>
$(document).ready(function() {
$("#submit").click(function() {
var admin = $("#admin").val();
var password = $("#password").val();
$("#returnmessage").empty(); // To empty previous error/success message.
// Checking for blank fields.
if (admin == '')
{
$('div.error').html("Please Fill Admin Required Fields");
} else if (password == '')
{
$('div.error').html("Please Fill Password Required Fields");
} else
{//alert('hello world');
// Returns successful data submission message when the entered information is stored in database.
$.ajax({
type: "POST",
url: "<?php base_url() ?>index.php/admin_login/login",
data: {"admin": admin, "password": password},
dataType: "json"
}).done(function (data) {
if (data.error != "")
{
//alert('hello if');
$('div.error').html(data.error);
} else
{
// alert('hello else');
window.location.href="admin_view";
}
});
}
});
});
</script>
<?php include('assets/footer.php'); ?>
答
你必须提供错误的路径,一个AJAX网址,
url: "<?php base_url() ?>index.php/admin_login/login"
这种说法不会直接运行,因为<?php base_url() ?>
是一个PHP语句,你在JavaScript中使用这个,这是不可接受的。
使用这样的:
<script type="text/javascript">var path= "<?php echo base_url();?>";</script>
写这个声明在你的头部分,该语句将定义基本URL路径变量,这是一个JavaScript变量,你可以在你的JavaScript代码中使用它。
然后附加网址,如:
url: path+"/index.php/admin_login/login",
希望这将有助于你。 “
+0
012ie这一整段的JavaScript是由PHP生成的整体,所以这一切都在PHP下运行 – RiggsFolly
”相反,我的路径错了或其他什么“ - 您向我们展示了生成路径的PHP。因此,现在告诉我们该PHP的输出是什么(当您在浏览器中查看源代码时)以及路径应该是什么。 – Quentin
我不知道如果ajax的url参数可以有它的php代码,但最后的php开放标签没有关闭一个... –
试试这个:'url:“ index。 php/admin_login/login“' –