Javascript 使用mongodb提交Ajax表单

Javascript 使用mongodb提交Ajax表单,javascript,php,jquery,ajax,mongodb,Javascript,Php,Jquery,Ajax,Mongodb,我正在尝试使用ajax提交表单,但由于某些原因,它对我不起作用,请给出如何修复它的建议 我在提交时收到了警告消息,但它会将我带到另一个页面,我在ajax请求中犯了什么错误 <!DOCTYPE html> <html> <head> <title>Get Data From a MySQL Database Using jQuery and PHP</title> <script src="https://ajax.googleap

我正在尝试使用ajax提交表单,但由于某些原因,它对我不起作用,请给出如何修复它的建议

我在提交时收到了警告消息,但它会将我带到另一个页面,我在ajax请求中犯了什么错误

<!DOCTYPE html>
<html>
<head>
<title>Get Data From a MySQL Database Using jQuery and PHP</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
  $(document).ready(function(){
    // AJAX forms
    $("#search_form").submit(function(e){
      e.preventDefault();
      //var data = $(this).serialize();
      var method = $(this).attr("method");
      var action = $(this).attr("action");
      var username = $('#username').val(); 
      $.ajax({
        url: 'process.php',
        type: 'POST',
        data: { name: username },
        cache: false,
        success: function(data){
          $('#results').html(data);
        }
      })
    })
  });
  </script>
  </head>
  <body>
   <span>Search by name: </span>
   <form method="POST" action="process.php" id="search_form">
  <input type="text" id="username" name="name">
  <input type="submit" id="submit" value="Search">
   </form>
   <div id="results"></div>
 </body>
  </html>

使用jQuery和PHP从MySQL数据库获取数据
$(文档).ready(函数(){
//AJAX表单
$(“#搜索表格”)。提交(功能(e){
e、 预防默认值();
//var data=$(this.serialize();
var method=$(this.attr(“method”);
var action=$(this.attr(“action”);
var username=$('#username').val();
$.ajax({
url:'process.php',
键入:“POST”,
数据:{name:username},
cache:false,
成功:功能(数据){
$('#results').html(数据);
}
})
})
});
按姓名搜索:
process.php

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
// Check if $_POST is set
if ( empty ( $_POST['name'] ) ) {
 echo "Something wrong!";

 exit;
}
$name = $_POST['name'];
$m = new MongoClient();
//echo "Connection to database successfully";
// select a database
$address = array(
      'name'=>$name,
      'city' => 'test',
      'state' => 'test2',
      'zipcode' => 'test3'
      );

$db = $m->local;
//echo "Database mydb selected";
$collection = $db->user;
//echo "Collection selected succsessfully";
$collection->insert($address);

$user = $collection->findOne(array('name' => $name));
 ?>
<ul>

 <li><?php echo $user['name']; ?>: <?php echo $user['city']; ?></li>
<script>
    alert('test 1234');
 </script>
</ul>

  • :
  • 警报(“测试1234”);
我不得不改变:

$("#search_form").submit(function(e){
致:

现在它工作得很好

<!DOCTYPE html>
<html>

<head>
    <title>Get Data From a MySQL Database Using jQuery and PHP</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            // AJAX forms
            $(document).on('submit', '#search_form', function() {
                //e.preventDefault();
                //var data = $(this).serialize();
                var method = $(this).attr("method");
                var action = $(this).attr("action");
                var username = $('#username').val();
                $.ajax({
                    type: 'POST',
                    url: 'process.php',
                    data: {
                        name: username
                    },
                    cache: false,
                    success: function(data) {
                        $('#results').html(data);
                    }
                })
                return false;
            });
        });
    </script>
</head>

<body>
    <span>Search by name: </span>
    <form method="POST" action="process.php" id="search_form">
        <input type="text" id="username" name="name">
        <input type="submit" id="submit" value="Search">
    </form>
    <div id="results"></div>
</body>

</html>

使用jQuery和PHP从MySQL数据库获取数据
$(文档).ready(函数(){
//AJAX表单
$(文档)。在('submit','search_form',函数()上{
//e、 预防默认值();
//var data=$(this.serialize();
var method=$(this.attr(“method”);
var action=$(this.attr(“action”);
var username=$('#username').val();
$.ajax({
键入:“POST”,
url:'process.php',
数据:{
姓名:用户名
},
cache:false,
成功:功能(数据){
$('#results').html(数据);
}
})
返回false;
});
});
按姓名搜索:

你收到了什么错误消息第一次看,这部分看起来有些奇怪
数据:名称:用户名,
,你应该使用:
数据:{name:username},
没有错误消息,我改成了数据:{name:username}仍然没有work@mapodevwhat你从ajaxno response@mapodev得到了什么回应
<!DOCTYPE html>
<html>

<head>
    <title>Get Data From a MySQL Database Using jQuery and PHP</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            // AJAX forms
            $(document).on('submit', '#search_form', function() {
                //e.preventDefault();
                //var data = $(this).serialize();
                var method = $(this).attr("method");
                var action = $(this).attr("action");
                var username = $('#username').val();
                $.ajax({
                    type: 'POST',
                    url: 'process.php',
                    data: {
                        name: username
                    },
                    cache: false,
                    success: function(data) {
                        $('#results').html(data);
                    }
                })
                return false;
            });
        });
    </script>
</head>

<body>
    <span>Search by name: </span>
    <form method="POST" action="process.php" id="search_form">
        <input type="text" id="username" name="name">
        <input type="submit" id="submit" value="Search">
    </form>
    <div id="results"></div>
</body>

</html>