我制作了一个简单的脚本,使用ajax和jquery将数据插入数据库。似乎我没有收到任何回复,我也不认为我做错了什么。那么,任何人都可以看看并帮助我吗?
process.php
<?php
$id = $_POST['id'];
$user= $_POST['username'];
$password = $_POST['password'];
$con = mysqli_connect('localhost','root','','car_rental');
$query = 'insert into car_admin (admin_id,admin_username,admin_password) values(?,?,?)';
$query = $con->prepare($query);
$query-> bind_param('iss',$id,$user,$password);
if($query->execute()) { echo "done";}
else { echo "failed"; }
$query->close();
$con->close();
?>
register.php
<script src="jquery-1.12.4.js"></script>
<script src="script.js"></script>
<form id="register" method="POST" >
<fieldset>
<legend>
Register
</legend>
ID: <input id="id" type="text" name="id" value="" />
Username : <input id="username" type="text" name="username" value="" />
Passsword : <input id="password" type="password" name="password" value="" />
<input id="submit" type="submit" name="submit" value="Register" />
</fieldset>
</form>
<div id="result"></div>
jquery
$(document).ready( function() {
$('#submit').click(function() {
var id = $('#id').val();
var username = $('#username').val();
var password = $('#password').val();
$.ajax({
type:'post',
url:'process.php',
data:'id='+id+'username='+username+'password='+password,
success:function(data){
$('#result').html(data);
}
});
});
答案 0 :(得分:0)
阻止表单通过浏览器提交
您需要更改代码以包含正确的格式 数据: '编号=' + ID + '&安培;用户名=' +用户名+ '&安培;口令=' +密码,
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<form id="register" >
<fieldset>
<legend>
Register
</legend>
ID: <input id="id" type="text" name="id" value="" />
Username : <input id="username" type="text" name="username" value="" />
Passsword : <input id="password" type="password" name="password" value="" />
<button id="submit" name="submit" />Register</button>
</fieldset>
</form>
<div id="result"></div>
<script>
$(document).ready( function() {
$('#submit').click(function(e) {
e.preventDefault(); // Prevent the form from submitting via the browser
var id = $('#id').val();
var username = $('#username').val();
var password = $('#password').val();
$.ajax({
type:'post',
url:'login.php',
data:'id='+id+'&username='+username+'&password='+password,
success:function(data){
$('#result').html(data);
}
});
});
});
</script>
答案 1 :(得分:-1)
您的ajax失败的原因是您没有正确发布参数。如果ID为1,用户名为&#34;用户名&#34;,密码为&#34;密码&#34;,以下代码将返回显示的值。
'id='+id+'username='+username+'password='+password,
id=1username=Usernamepassword=Password
您需要更改代码以包含正确的格式,如下所示。
'id='+id+'&username='+username+'&password='+password,
然后你的Ajax请求应该工作。我发现你的PHP没有任何问题。我还建议你做一个 encodeURIComponent ,就像你的字符串包含任何URI字符一样,它会引起更多问题。看看this tutorial,因为它是发出Ajax请求的一个很好的例子。