我的代码存在一些问题,需要一些帮助。我正在尝试创建一个注册表单,用户可以输入用户名和密码进行注册。我想使用ajax
,但是当我加入它时,它似乎不起作用。为了测试它,我已经回显了"hi from php"
但是当我点击注册时没有填写任何字段时它在浏览器中显示。下面的文档名称被称为
JS
$(document).ready(function(){
$("#register").click(function(){
var user = $("#username").val();
var pass = $("#password").val();
var data = "user=" + user + "&pass=" + pass;
$.ajax({
method: "post",
url: "register.php?",
data: data,
success: function(data)
{
$("#register_output").html(data);
}
});
});
});
HTML
<!DOCTYPE html>
<html>
<head>
<title>Registration</title>
<script src="jquery-3.2.1.min.js"></script>
<script src="register.js"></script>
</head>
<body>
<div>
<h1>Register</h1>
<p>use the form below to register</p>
<p>
<div id="register_output"></div>
</p>
<p><strong>Username</strong></p>
<p><input id="username" type="text" placeholder="Username"></p>
<p><strong>Password</strong></p>
<p><input id="password" type="password"></p>
<p><button id="register">Register</button></p>
</div>
</body>
</html>
PHP
<?php
echo "hi from php";
?>
答案 0 :(得分:1)
1 - 你有一个return
语句停止继续执行该功能,如果删除它,它应该可以正常工作。
2 - 您也可能遇到错误,请务必查看开发人员工具,然后添加.fail
函数来处理错误,例如404
或503
HTTP错误。
3 - 确保在您的网址开头包含协议https://
或http://
这是一个例子
html / jquery:
<form id='register'>
<div id='response'></div>
<input name='name' placeholder='name' />
<input name='password' placeholder='password' />
<button id='button' onclick="register();"> submit</button>
</form>
<!-- import jquery here -->
<script>
function register() {
var data = new FormData($('#register'));
$.ajax({
method: "POST",
url: "http://example.org/register.php",
data: data
})
.done(function(html) {
$( "#response" ).append( html );
})
.fail(function(html) {
alert( "error" );
});
return false;
}
</script>
register.php
<?php
// do something here
print_r($_REQUEST);
?>
<强>更新强>
我开始明白您正在尝试通过文件查看c:/path/to/your/file.html
发送XHR请求,但您无法做到!你需要一台服务器并不难,首先要做的是安装xampp并将你的文件放在c:/xampp/htdocs/test/
中,你应该可以这样做,但如果你已经使用xampp
或更简单工具答案在上面