Привет. Я пытаюсь сохранить некоторые данные, когда пользователь достигает страницы подтверждения заказа, во вновь созданную таблицу в базе данных, и я застрял. Я знаю, что вызов AJAX связывается с файлом php, поскольку я могу просто console.log получить ответ (вывод) и получить то, что ожидается (т.е. echo 'hello') из файла php - так что все хорошо здесь.
Я также зарегистрировал новый псевдоним таблицы внутри файла init.php.
Вот код JS из файла order_message.tpl:
var newData = {
"one":"test one",
"two":"test two"
};
$.ajax({ url: '/newDir/newFile.php',
data: {
dataToSend: newData
},
type: 'post',
success: function(output){
console.log(output);
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
Вот код PHP из файла root / newDir / newFile.php:
require '../init.php';
require '../include/func/func.db.php';
if(isset($_POST['dataToSend']) && !empty($_POST['dataToSend'])) {
$ssData = json_decode($_POST['dataToSend']);
myFunc($ssData);
} else {
die( header('Location: ../404.html') );
}
function myFunc($dt){
$toSaveData = array(
'one' => $dt->one,
'two' => $dt->two
);
func_array2insert ('my_new_table', $toSaveData);
}
Я вижу вызов AJAX в инструментах разработки, но он выдает следующие ошибки:
Я нигде в коде не ссылался на этот путь - который не существует - https://localhost/site/newDir/index.php,, поэтому я не уверен, что здесь происходит. Следующие 3 ошибки происходят от метода ошибок AJAX. А в базе данных данные не хранятся.
Если я закомментирую "require '../init.php';" Я не получаю ошибок, но вместо этого получаю длинную строку HTML-кода. Но по-прежнему нет данных, сохраненных в базе данных.
Кто-нибудь может понять, в чем проблема?
Большое спасибо.