Я пробовал размещать это, но он помечен как php, поэтому я надеюсь, что на этот раз это будет ajax или Jquery, надеюсь, получить больше ответов.Проблема с использованием Ajax для добавления в базу данных
У меня возникла проблема с моей функцией добавления Ajax примерно на неделю. Код, который я использую для этого, работает в другом приложении без каких-либо проблем. Я надеюсь, что кто-то сможет понять, допустил ли я какие-либо ошибки или что может быть причиной этого. Я смог добавлять элементы в базу данных с помощью команд cURL без каких-либо проблем, поэтому это не код PHP, но я также включу это для 100% -ной ясности. Я использую Слим 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,
});
}
Все переменные имеют пункт строки, назначенные им
Любая помощь будет оценена.
Майк
В чем проблема? Ajax не работает? Сервер получает данные, но затем элементы не добавляются в DB Or ... ??? – Samurai
Так в чем проблема? Что ты сделал, чтобы сузить его? Посмотрите на инструменты разработчика браузера. Есть ли ошибки в консоли? Отформатирован ли запрос так, как вы ожидаете? Получает ли $ request-> getBody() ожидаемое значение, если вы его эхо? Как насчет $ q-> item1? Исключено ли исключение PDO? Какую ошибку он поднимает? – Quentin
Он стреляет прямо к ошибке. Насколько я могу судить, он достигает dataType, но он обходит успех. PHP работает отлично, как я сказал в OP. Проблема в Ajax, но я не знаю, что вызывает ее. – user3618687