使用Ajax添加到数据库的问题

时间:2015-05-12 09:35:04

标签: javascript php jquery ajax

我试着发布这个,但它标记为php,所以我希望这次是ajax或Jquery,希望得到更多回复。

我的Ajax添加功能一直存在问题大约一周了。我正在使用的代码在另一个应用程序中工作,没有任何问题。我希望有人能看出我是否犯过任何错误,或者是什么导致错误。我已经能够通过cURL命令向数据库添加项目而没有任何问题,因此它不是PHP代码,但我将包括它以及100%清晰度。我正在使用Slim Framework

PHP代码

$app->post('/addItems/', 'addItems');
function addItems()
{
    $request = \Slim\Slim::getInstance()->request();
    $q = json_decode($request->getBody());
    $sql = "INSERT INTO items(item1, item2, item3, item4, item5, item6, item7, item8, item9) VALUES (:item1, :item2, :item3, :item4, :item5, :item6, :item7, :item8, :item9)";
    try{
        $db = getConnection();
        $stmt=$db->prepare($sql);
        $stmt->bindParam("item1", $q->item1);
        $stmt->bindParam("item2", $q->item2);
        $stmt->bindParam("item3", $q->item3);
        $stmt->bindParam("item4", $q->item4);
        $stmt->bindParam("item5", $q->item5);
        $stmt->bindParam("item6", $q->item6);
        $stmt->bindParam("item7", $q->item7);
        $stmt->bindParam("item8", $q->item8);
        $stmt->bindParam("item9", $q->item9);
        $stmt->execute();
        $db = null;
    }
    catch(PDOException $e){
        echo $e->getMessage();
    }
}

的Ajax

$("#send").click(function(){
    $.ajax({
        type: 'POST',
        contentType: "application/json",
        data: addProject(),
        url: rootURL + "/addItems/",
        dataType: "json",
        success: function(data)
        {
            alert("Data Added");
        },
        error: function(data)
        {
            alert("Error");
        }
    });
});

function addProject()
{
    return JSON.stringify({
    "item1": item1,
    "item2": item2,
    "item3": item3,
    "item4": item4,
    "item5": item5,
    "item6": item6,
    "item7": item7,
    "item8": item8,
    "item9": item9,
    });
}

所有项目变量都分配了字符串

任何帮助都将不胜感激。

麦克

1 个答案:

答案 0 :(得分:0)

我在这里做了一个疯狂的猜测,但是不是使用函数addProject()来返回ajax请求本身的数据,你可以尝试在ajax调用之前调用它并将其保存到变量然后使用该变量而不是功能本身。