【发布时间】:2019-06-27 02:54:20
【问题描述】:
我正在尝试通过 ajax 将我的用户名和密码发布到我的 php 文件中,但它 post["username"] 和 post["password"] 最终成为未定义索引
我尝试了以下方法。
/index.php
<form action="home.php" method="POST">
<input name= "username" id="usrname" type="text" placeholder="username">
<input name="pswrd" id="pswrd" type="password" placeholder="password">
<button type="submit" id="submit">Submit</button>
</form>
/main.js
$('#submit').click(function (e) {
e.preventDefault();
var username = $('#usrname').val();
var pswrd = $('#pswrd').val();
if (username === "" || pswrd === "") {
//validation
} else {
$.ajax({
url: "home.php",
type: 'POST',
dataType: 'json',
data: {
"username": username,
"password": pswrd
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
},
success: function (data) {
alert('its works')
// window.location = 'home.php';
}
})
};
})
/home.php
if (isset($_POST)) {
$username = $_POST['username'];
$password = $_POST['password'];
echo "<h2>".$username."</h2>";
echo "<h2>".$password."</h2>";
} else {
echo "<h2>Nothing received</h2>";
}
print_r($_POST)
当我点击提交时,请求确实得到了应有的处理。当我在'network->preview'下检查时,我得到=> Array([username] => admin [password] => admin)但是当它没有将我发送到我的home.php页面并且当我点击网络'home .php' 它为我的用户名和密码提供了“未定义索引:...”。
【问题讨论】: