Ajax数据函数应该有效,但不是

时间:2015-07-14 00:13:47

标签: php jquery ajax

在我的应用程序中,我有一个Ajax函数,可以向数据库添加信息。一切都很完美,直到我添加了2个参数,即位置和用户名。 它仍适用于其他所有内容,但它不会将最后2个添加到数据库中。数据库中的名称是位置和用户名。 assignedUsername和storeLocation设置在代码中的其他位置。

的Ajax:

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

            $.mobile.changePage("#mainMenu");
        },
        error: function(data)
        {
            alert(assignedUsername);
            alert("Data NOT Added");

            $.mobile.changePage("#mainMenu");
        }
    });
});

function orderFood()
{   
    alert(storeLocation + ", " + assignedUsername);
    return JSON.stringify({
            "food1": food1,
            "food2": food2,
            "food3": food3,
            "food4": food4,
            "food5": food5,
            "food6": food6,
            "food7": food7,
            "food8": food8,
            "food9": food9,
            "location": storeLocation,
            "username": assignedUsername
    });
}

PHP:

$app->post('/orderFood/', 'orderFood');

function orderFood()
{
    $request = \Slim\Slim::getInstance()->request();
    $q = json_decode($request->getBody());
    $sql = "INSERT INTO subsordered(food1, food2, food3, food4, food5, food6, food7, food8, food9, location, username) VALUES (:food1, :food2, :food3, :food4, :food5, :food6, :food7, :food8, :food9, :location, :username)";
    try
    {
        $db = getConnection();
        $stmt=$db->prepare($sql);
        $stmt->bindParam("food1",$q->food1);
        $stmt->bindParam("food2",$q->food2);
        $stmt->bindParam("food3",$q->food3);
        $stmt->bindParam("food4",$q->food4);
        $stmt->bindParam("food5",$q->food5);
        $stmt->bindParam("food6",$q->food6);
        $stmt->bindParam("food7",$q->food7);
        $stmt->bindParam("food8",$q->food8);
        $stmt->bindParam("food9",$q->food9);
        $stmt->bindParam("location",$q->location);
        $stmt->bindParam("username",$q->username);
        $stmt->execute();
        $db = null;
    }
    catch(PDOException $e){
        echo $e->getMessage();
    }
}

我知道PHP虽然使用cURL进行测试是正确的,但我认为我只是为了得到全局而包含它

我非常坚持这一点,从我能看到它应该工作,但它只是没有

0 个答案:

没有答案