【发布时间】:2017-09-18 17:49:20
【问题描述】:
我发誓这之前工作正常,但现在情况并非如此,我显然搞砸了。
我正在制作一个表单,其中输入的信息通过 AJAX 发布到我的 PHP 文件中,该文件只输出用户名和密码。现在我什至将发送的数据硬编码为一个字符串,而 php 文件只是为了测试目的而打印它。但是,当我点击提交时,它并没有进入我的 loginProcess.php 页面,而是停留在页面上并打印到控制台“hello”、“success”和“test”,这表明它通过了完整的Process() 功能。
我的网址是正确的,并且与 index.html 文件位于同一目录中。我尝试了不同的方法,例如使用$.post() 或将提交按钮设置为type="input"。如果您看到form 行我在未注释之前注释掉,那是我试图直接发送数据而不通过ajax,它工作正常并输出loginProcess.php(但是我的项目需要通过ajax)。有谁知道怎么回事?
这是我的 html 文件:
<!DOCTYPE html>
<html>
<head>
<!-- <script src="frontEnd.js"></script> -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<title>Login System</title>
</head>
<style>
</style>
<body>
<center>
<p><b>LOGIN SYSTEM</b></p>
<!-- <form id="login" action ="loginProcess.php" method="post"> -->
<form name = "loginform">
UCID:<br>
<input type="text" name="username"><br>
Password:<br>
<input type="password" name="password"><br><br>
<button type="button" onclick = "Process()">Submit</button>
</form>
</center>
</body>
<script>
function Process() {
console.log("hello")
var ucid = document.loginform.username.value;
var pw = document.loginform.password.value;
$.ajax({
type:"POST",
url: "loginProcess.php",
data: "ajaxUCID=TESTUSERNAME",
success: function(){
console.log("success")
},
error: function(){
console.log("error")
}
});
// $.post("loginProcess.php",{ajaxUCID:"TESTUSERNAME"});
console.log("test")
}
</script>
这是我的 loginProcess.php 文件:
<!DOCTYPE html>
<html>
<head><title>process</title></head>
<body>
<?php
$ucidPHP = $_POST["ajaxUCID"];
echo "Username is ".$ucidPHP;
// $pwPHP = $_POST["ajaxPW"];
// echo "Password is ".$pwPHP;
?>
</body>
</html>
【问题讨论】:
-
你得到的错误是什么?
-
把数据像 {"ajaxUCID":"TESTUSERNAME"};
标签: javascript php jquery html ajax