我知道这有很多重复项,但是无论如何这些问题(我在堆栈溢出中搜索几乎所有相同的标题)都无法解决.
我的问题是成功函数不会触发警报消息,我也不知道为什么.
<form>
<div class="form-group">
<label for="">Username</label>
<input type="text" class="form-control" id="user" name="user" placeholder="Username">
</div>
<div class="form-group">
<label for="">Password</label>
<input type="password" class="form-control" id="pass" name="pass" placeholder="Password">
</div>
<div class="form-group">
<label class="radio-inline">
<input type="radio" data-toggle="buttons-radio" name="opTradio" value="prof">Professor
</label>
<label class="radio-inline">
<input type="radio" data-toggle="buttons-radio" name="opTradio" value="admin">Admin
</label>
</div>
<button type="button" class="btn btn-block btn-social" onClick="validateForm()">
<span class="fa fa-twitter"></span>Login
</button>
</form>
javascript文件
function validateForm() {
var checkUser = document.getElementById("user").value;
var checkPass = document.getElementById("pass").value;
var checkOption = $("input[name=opTradio]:checked").val();
/*
if (checkUser && checkPass && checkOption) { //checks if user is not empty
} else {
alert ("Please fill up all @R_763_4045@ion");
}
*/
if (checkOption == "prof") {
$.ajax({
type: 'POST',
url: 'assets/connection/login.PHP',
dataType: 'json',
data: {
user: checkUser,
pass: checkPass,
},
beforeSend: function() {
alert("a")
},
success: function(response) {
alert(response)
}
});
}
}
<?PHP echo "js test" ?>
编辑:正如评论中指出的那样,并通过@ Rax Weber的答案指出,成功中存在一个印刷错误(应该是成功的),但这不是问题的根本原因,并且在更正它后仍不会发出警报.
解决方法:
原因是,您已将dataType:’json’设置为未在JSON中获得响应.
可能的解决方案:
>使用JSON发送响应.
在您的发布文件中,发送JSON编码的输出:<?PHP echo json_encode(“ js test”); ?>
>让dataType设置为默认值.从您的JS中删除行dataType:’json’.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。