没有得到ajax的任何回复

时间:2018-01-09 01:29:16

标签: php jquery ajax

我制作了一个简单的脚本,使用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);

        }

    }); 
});

2 个答案:

答案 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请求的一个很好的例子。