AJAX函数不在监听器中调用

问题描述:

函数validate()在监听器中未被调用,或者其他错误导致该错误。数据不会添加到数据库中。 index.php: 函数validate()在监听器中没有被调用,或者其他的东西导致错误。数据不会添加到数据库中。 index.php文件:AJAX函数不在监听器中调用

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script type="text/javascript" src = "jquery-1.11.3.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 



      $("#add_button").click(function(){ 

       validate(); 

      }); 

     }); 

     function validate(){ 

      $.post("ajax_controller.php", 

       { 

        act:"add", 
        subject:$("#subject").val(), 
        description:$("#description").val(), 
        price:$("#price").val(), 
        semester:$("#semester").val() 

       } 

      ); 

     } 

    </script> 
</head> 
<body> 
    <form action="add.php" method="post" id = "login_form"> 
     <input type="hidden" value="add" name = "act"> 
     <input type="text" name = "subject" id = "subject"> 
     <input type="text" name = "description" id = "description"> 
      <input type="text" name = "price" id = "price"> 
     <input type="text" name = "semester" id = "semester"> 

     <input type="button" id = "add_button" value = "add"> 

    </form> 
</body> 

和ajax_controller.php:加入

<?php 
    echo "asd"; 
    if(isset($_POST['act'])){ 
     if($_POST['act']=='add'){ 

      $subject= $_POST['subject']; 
      $description = $_POST['description']; 
      $price = $_POST['price']; 
      $semester = $_POST['semester']; 

      $connection = new mysqli("localhost","root","","subjects"); 

      $query = $connection->query("insert into subjects(id, name, desctiption, price, semester) values(NULL, \"".$subject."\", \"".$description."\", ".$price.", ".$semester.")"); 



     } 
    } 
?> 

jQuery库。谢谢。

+0

检查任何控制台错误在您的浏览器... –

+0

@GuruprasadRao有没有。 – BekaBot

+1

我知道这是一个陈词滥调..但消毒您的数据!从来没有,永远,永远,永远,永远不会放在你的数据库没有逃脱它......或更好..使用PDO和准备好的语句! (这是不够的) –

变化ajax_controller.php

 <?php 
      if(isset($_POST['act'])){ 
       if($_POST['act']=='add'){ 

       $subject= $_POST['subject']; 
       $description = $_POST['description']; 
       $price = $_POST['price']; 
       $semester = $_POST['semester']; 

       $connection = mysqli("localhost","root","","subjects"); 

       $query = mysqli_query($connection,"insert into subjects(id, name, desctiption, price, semester) values(NULL, \"".$subject."\", \"".$description."\", ".$price.", ".$semester.")"); 
       } 
      } 
     ?> 

编码现在的数据添加到数据库

+0

只需简要介绍一下您所做的更改。 –

+1

为什么OP应该这样做?一个好的答案将总是解释做了什么以及为什么这样做,不仅是为了OP,而且是为了将来SO的访问者。 –