Ajax POST和php查询

时间:2015-10-27 15:57:54

标签: php jquery ajax

一直在看一些教程,因为我不太确定它是如何工作的(这就是为什么我在这里的原因:我的脚本不能正常工作)。无论如何,我尝试做的是使用名为insert的PHP文件将shoutboxform.php数据导入我的数据库,因为我打算将它用作某种聊天/吼叫,我不知道#39; t希望它在提交表单时重新加载页面。

jQuery的:

$(document).ready(function() {

        $(document).on('submit', 'form#shoutboxform', function () { 

            $.ajax({  
              type: 'POST',  
              url: 'shoutboxform.php',  
              data: form.serialize(),
              dataType:'html',  
              success: function(data) {alert('yes');},
              error: function(data) {

              alert('no');
              }
            });  
            return false;  

              });

        }); 

PHP:

<?php
require_once("core/global.php");
if(isset($_POST["subsbox"])) {
    $sboxmsg = $kunaiDB->real_escape_string($_POST["shtbox_msg"]);
    if(!empty($sboxmsg)) {
        $addmsg = $kunaiDB->query("INSERT INTO kunai_shoutbox (poster, message, date) VALUES('".$_SESSION['username']."', '".$sboxmsg."'. '".date('Y-m-d H:i:s')."')");
    }
}

和HTML:

<form method="post" id="shoutboxform" action="">
                <input type="text" class="as-input" style="width: 100%;margin-bottom:-10px;" id="shbox_field" name="shtbox_msg" placeholder="Insert a message here..." maxlength="155">
                <input type="submit" name="subsbox" id="shbox_button" value="Post">
            </form>

当我提交任何内容时,它只是重新加载页面而没有任何内容添加到数据库中。

2 个答案:

答案 0 :(得分:2)

阻止默认提交行为

   $(document).on('submit', 'form#shoutboxform', function(e) {
  e.preventDefault();
  $.ajax({
      type: 'POST',
      url: 'shoutboxform.php',
      data: $(this).serialize(),
      dataType: 'html',
      success: function(data) {
          alert('yes');
      },
      error: function(data) {

          alert('no');
      }
  });
  return false;
});

答案 1 :(得分:2)

使用以下结构:

$('form#shoutboxform').on('submit', function(e) {
    e.preventDefault();
    // your ajax
}

https://api.jquery.com/submit/

$("form#shoutboxform").submit(function(e) {
    e.preventDefault();
    // your ajax
});