我正在尝试使用AJAX测试PHP发布数据。从页面测试我想发布到同一页面并检查PHP是否接收发布数据,是否发布数据只是为了查看重定向是否成功,以便我可以编写身份验证代码并在页面重定向之前分配会话。
当我点击登录按钮时,我只检查isset post数据,如果数据存在,则重定向。我不知道为什么这不起作用。任何帮助表示赞赏。
<script>
$(document).ready(function(){
$('#login').click(function(){
$.ajax({
type: 'POST',
url: 'http://domain.com/backend/test',
data: { username: "John", password: "Boston" }
});
return false;
});
});
</script>
<?php
if(isset($_POST['username']) && isset($_POST['password'])) {
redirectto("http://domain.com/backend/test2");
// redirecto is a function equivalent to header location
}
?>
<form autocomplete="off" class="ui fluid form segment" method="post">
<div class="ui fluid form segment">
<div class="two fields">
<div class="field">
<label>Email/Username</label>
<input placeholder="Email/Username" name="username" id="username" type="text">
</div>
<div class="field">
<label>Password</label>
<input placeholder="Password" name="password" id="password" type="password">
</div>
</div>
<input type="submit" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />
</div>
</form>
答案 0 :(得分:0)
更改
<input type="submit" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />
到
<input type="button" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />
即使您触发了#login
按钮的点击事件,它也是一个提交类型,它将首先触发提交事件。更改按钮类型应该会有所帮助。
答案 1 :(得分:0)
在JS中,不使用click事件,而是使用submit。 我的意思是,而不是
$('#login').click(function(){
使用
$('#login').submit(function(){
此外,您可以向表单添加一个动作属性:
<form autocomplete="off" class="ui fluid form segment" method="post" action="#">