通过Javascript / AJAX / JSON / PHP将数据从JQuery传递到数据库

时间:2012-07-05 23:38:57

标签: php javascript ajax json jquery

我试图通过使用JQuery,AJAX / JSON和PHP使用MVC模型从我的HTML代码向我的数据库添加数据。以下是我希望实现的一小部分样本。

在我的前端,我有一个带有不同选项的复选框和一个名为“添加”的按钮。这里选择的元素是由Javascript函数选取的,我已经测试过了,一旦完成,我调用另一个Javascript函数来执行AJAX / JSON。我还很新鲜的是将数据发送给PHP的实际AJAX / JSON进程。

我的Javascript功能:

function add_fruits(fruit_name, fruit_type){
    var success = "Fruit added";
    var error = "Fruit not added";

    var params = {
        'fruit_name' : fruit_name,
        'fruit_type' : fruit_type
    };

    $.ajax({
        type: "POST",
        url: "add_fruits.php",
        async: false,
        data: params,
              success: function(success){
                  alert(success);
              },
              error: function(error){
                  alert(error);
              }
    });
}

我的PHP功能:

<?php
header("Access-Control-Allow-Origin: *");
header('Content-type: application/json');

require_once 'lib/connection_files.php';


if($_SERVER['REQUEST_METHOD'] =='POST')
{
    $fruit_name = no_sql_injection($_POST['fruit_name']);
    $fruit_type = no_sql_injection($_POST['fruit_type']);

    $fruits = new fruits();
    $result = $fruits->add_fruits($fruit_name, $fruit_type);
    $tmp = mysql_num_rows($result);

    if($result == 1)
    {//RESULT must return 1 to verify successful insertion to database
        //send confirmation to front end
    }
    else
    {
        //send error message to front end
    }
}
else{
    //tell front end there was error sending data via AJAX
}
?>

请注意,add_fruits()函数负责对数据库进行查询,我没有在此处包含它,因为它与我的问题无关。

1 个答案:

答案 0 :(得分:2)

在你的php中执行echo

<强> PHP

....
else{
    //send error message to front end
    echo "Error Adding Fruits";
    }
.....

<强> JS

 ....
 success: function(data){
    if(data == "1"){
        //data added to db
    }
    else{
        alert(data);
        }
   },
  .....