Я создал функцию для обновления данных с помощью AJAX. В xhr.onload this.responseText не отображает никаких значений в журнале консоли, и выполняется только часть условия else, даже несмотря на то, что обновление происходит. Я пытался отладить его с помощью console.log, но это не дало никаких результатов.
Submit
function upd_general(site_title_val, site_about_val) {
let xhr = new XMLHttpRequest();
xhr.open("POST", "ajax/settings_crud.php", true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function () {
console.log('Response:', this.responseText.trim()); // Debugging line
var myModal = document.getElementById('general-s');
var modal = bootstrap.Modal.getInstance(myModal);
modal.hide();
if (this.responseText.trim() === '1') { // Trim to remove any extra whitespace
js_alert('success', 'Changes Saved!');
get_general();
} else {
js_alert('error', 'No Changes made!');
get_general();
}
};
xhr.send('site_title=' + encodeURIComponent(site_title_val) + '&site_about=' + encodeURIComponent(site_about_val) + '&upd_general');
}
Ниже приведен код файла settings_crud.php
if (isset($_POST['upd_general'])) {
$frm_data = filteration($_POST);
$q = "UPDATE `settings` SET `site_title`=? , `site_about`=? WHERE `sr_no`=?";
$values = [$frm_data['site_title'], $frm_data['site_about'], 1];
$res = update($q, $values, "ssi");
return $res;
}
функция фильтрации
function filteration($data)
{
foreach ($data as $key => $value) {
$data[$key] = trim($value);
$data[$key] = stripcslashes($value);
$data[$key] = htmlspecialchars($value);
$data[$key] = strip_tags($value);
}
return $data;
}
и функция обновления
function update($sql, $values, $datatypes)
{
$con = $GLOBALS['con'];
if ($stmt = mysqli_prepare($con, $sql)) {
mysqli_stmt_bind_param($stmt, $datatypes,...$values);
if (mysqli_stmt_execute($stmt)) {
$res = mysqli_stmt_affected_rows($stmt);
mysqli_stmt_close($stmt);
return $res;
} else {
mysqli_stmt_close($stmt);
die("Query cannot be executed - Update");
}
} else {
die("Query cannot be prepared - Update");
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... in-js-ajax
Обработка ответа в Js/AJAX ⇐ Php
Кемеровские программисты php общаются здесь
1719855010
Anonymous
Я создал функцию для обновления данных с помощью AJAX. В xhr.onload this.responseText не отображает никаких значений в журнале консоли, и выполняется только часть условия else, даже несмотря на то, что обновление происходит. Я пытался отладить его с помощью console.log, но это не дало никаких результатов.
Submit
function upd_general(site_title_val, site_about_val) {
let xhr = new XMLHttpRequest();
xhr.open("POST", "ajax/settings_crud.php", true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function () {
console.log('Response:', this.responseText.trim()); // Debugging line
var myModal = document.getElementById('general-s');
var modal = bootstrap.Modal.getInstance(myModal);
modal.hide();
if (this.responseText.trim() === '1') { // Trim to remove any extra whitespace
js_alert('success', 'Changes Saved!');
get_general();
} else {
js_alert('error', 'No Changes made!');
get_general();
}
};
xhr.send('site_title=' + encodeURIComponent(site_title_val) + '&site_about=' + encodeURIComponent(site_about_val) + '&upd_general');
}
Ниже приведен код файла settings_crud.php
if (isset($_POST['upd_general'])) {
$frm_data = filteration($_POST);
$q = "UPDATE `settings` SET `site_title`=? , `site_about`=? WHERE `sr_no`=?";
$values = [$frm_data['site_title'], $frm_data['site_about'], 1];
$res = update($q, $values, "ssi");
return $res;
}
функция фильтрации
function filteration($data)
{
foreach ($data as $key => $value) {
$data[$key] = trim($value);
$data[$key] = stripcslashes($value);
$data[$key] = htmlspecialchars($value);
$data[$key] = strip_tags($value);
}
return $data;
}
и функция обновления
function update($sql, $values, $datatypes)
{
$con = $GLOBALS['con'];
if ($stmt = mysqli_prepare($con, $sql)) {
mysqli_stmt_bind_param($stmt, $datatypes,...$values);
if (mysqli_stmt_execute($stmt)) {
$res = mysqli_stmt_affected_rows($stmt);
mysqli_stmt_close($stmt);
return $res;
} else {
mysqli_stmt_close($stmt);
die("Query cannot be executed - Update");
}
} else {
die("Query cannot be prepared - Update");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78693520/response-handling-in-js-ajax[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия