2012-07-05 65 views
0

我試圖從我的HTML代碼通過使用JQuery,AJAX/JSON和PHP使用MVC模型將數據添加到我的數據庫。以下是我期待實現的一個小樣本。通過Javascript/AJAX/JSON/PHP將數據從JQuery傳遞到數據庫

在我的前端,我有一個複選框,其中有不同的選項和一個名爲'Add'的按鈕。從這裏選擇的元素被一個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()函數負責做數據庫查詢的,我沒有在這裏,因爲它包含這與我的問題無關。

+0

我認爲你需要發送一個字符串,我可能是錯的,但它似乎是一個開始調試的好地方。嘗試在發送前對數據進行字符串化。然後你需要解析PHP中的文本來解構。 – TheZ 2012-07-05 23:42:03

回答

2

只是做echo在你的PHP:

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); 
     } 
    }, 
    ..... 
相關問題