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


Pass data from JQuery to database via Javascript/AJAX/JSON/PHP

我正在尝试通过使用 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() 函数负责对数据库进行查询,我没有在此处包含它,因为它与我的问题无关。

只需在 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);
    }
}