Javascript Ajax未将登录表单的数据传递到PHP进程文件
我有PHP AJAX登录脚本。它几乎完成了,它的工作方式是用户输入他们的信息,然后将他们带到登录页面。我的问题是来自AJAX文件的输入没有被发送到PHP文件 顺便说一句,它没有给我任何错误 代码如下: HTML:`Javascript Ajax未将登录表单的数据传递到PHP进程文件,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有PHP AJAX登录脚本。它几乎完成了,它的工作方式是用户输入他们的信息,然后将他们带到登录页面。我的问题是来自AJAX文件的输入没有被发送到PHP文件 顺便说一句,它没有给我任何错误 代码如下: HTML:` <div class="form-group"> <div class="col-sm-5"> <input type="text" class="form-control" name="userName" id="userName" placeh
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="userName" id="userName" placeholder="Your username">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="passWord" id="passWord" placeholder="Your password">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="button" onclick="submitRef()" class="form-control" value="Login">
</div>
</div>
<div id="Divvy"></div>
</form>`
`
这是AJAX/Jquery
<script type="text/javascript">
function submitRef(){
if(userName == "" ){
alert("You must enter something");
}else{
$.ajax({
type: 'post',
url: 'adminLoginProcess.php',
cache: false,
data: {
userName: $("#userName").val(),
passWord: $("#passWord").val()
},
success: function (response) {
window.location.href="adminLoginProcess.php";
}
});
}
}
</script>
函数submitRef(){
如果(用户名==“”){
警惕(“你必须输入某物”);
}否则{
$.ajax({
键入:“post”,
url:'adminLoginProcess.php',
cache:false,
数据:{
用户名:$(“#用户名”).val(),
密码:$(“#密码”).val()
},
成功:功能(响应){
window.location.href=“adminLoginProcess.php”;
}
});
}
}
这是PHP
`
`函数范围内未定义变量“userName”。应该是这样的。试试这个,看看是否有帮助 如果($(“#用户名”).val()=“”){ 更改代码如下:
<form id="main_form">
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="userName" id="userName" placeholder="Your username">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="passWord" id="passWord" placeholder="Your password">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="button" id="form_submit_btn" class="form-control" value="Login">
</div>
</div>
<div id="Divvy"></div>
</form>
为什么您要向
adminLoginProcess.php
发送ajax请求,然后成功后,将用户重定向到adminLoginProcess.php
?如果您重定向到同一页面,只需使用表单提交登录信息。我想您的代码在某个地方被截断了。您能显示HTML的第一部分吗?您怎么知道它没有被发送?当ajax调用完成时,它只是将用户重定向到adminLoginProcess.php.UPDATE:我还没有让它工作。感谢你的建议,我在ajax中创建了一个重定向页面,但它仍然不工作,只是没有将数据传递到php文件。你能解释一下为什么首先使用ajax吗?在这种情况下,它似乎没有意义。为什么不使用普通表单提交?我尝试了一下,它仍然没有将数据传递到另一个页面。您可以检查这些:首先检查是否通过ajax传递varibale:为此,请在ajax开始警报($(“#main_form”).serialize()之前执行此操作
如果警报不是空的,那么js没有错误,第二个在php页面中放入print\r($\u POST);
并在ajax成功函数alert(response)
中,检查数组是否为emty。
<form id="main_form">
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="userName" id="userName" placeholder="Your username">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="text" class="form-control" name="passWord" id="passWord" placeholder="Your password">
</div>
</div>
<div class="form-group">
<div class="col-sm-5">
<input type="button" id="form_submit_btn" class="form-control" value="Login">
</div>
</div>
<div id="Divvy"></div>
</form>
$(document).on("click", "#form_submit_btn", function(e) {
$.ajax({
type: 'post',
url: 'adminLoginProcess.php',
cache: false,
data: $("#main_form").serialize(),
success: function (response) {
window.location.href="adminLoginProcess.php";
}
});
});