我试着发布这个,但它标记为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,
});
}
所有项目变量都分配了字符串
任何帮助都将不胜感激。
麦克
答案 0 :(得分:0)
我在这里做了一个疯狂的猜测,但是不是使用函数addProject()来返回ajax请求本身的数据,你可以尝试在ajax调用之前调用它并将其保存到变量然后使用该变量而不是功能本身。