31.07.2023, 00:08
|
Профессор
|
|
Регистрация: 03.01.2019
Сообщений: 156
|
|
ajax и google chrome.
Все привет!
Не люблю связываться с google, кроме пользования поиском, но иногда вынужден. И вот очередная бяка от google.
В php скрипте, вызываемом через ajax, в самом конце такие строки
$result = mysqli_query($connection, $query);
if ($result) {
echo 1;
} else {
echo 0;
}
?>
Так вот в Firefox возвращается 0 или 1. А в google chrome перед цифрой добавляется табуляция. Что это и как правильно обработать?
Спасибо
|
|
31.07.2023, 01:03
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
А ты raw response data смотрел в devtools, что там?
|
|
31.07.2023, 01:32
|
Профессор
|
|
Регистрация: 03.01.2019
Сообщений: 156
|
|
Сообщение от Rise
|
А ты raw response data смотрел в devtools, что там?
|
Код табуляции. Сделал console.log(escape(returnData)) и вернуло %09 перед числом.
Стал смотреть дальше, получается Firefox сам отрезает %09 перед числом, а в хроме я пока делаю trim().
Последний раз редактировалось savsoft, 31.07.2023 в 01:49.
|
|
31.07.2023, 01:55
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
savsoft,
Я имел ввиду: вкладка Network > ... > Response (Raw response data).
А ajax как написан?
|
|
31.07.2023, 02:16
|
Профессор
|
|
Регистрация: 03.01.2019
Сообщений: 156
|
|
Сообщение от Rise
|
savsoft,
Я имел ввиду: вкладка Network > ... > Response (Raw response data).
А ajax как написан?
|
Network > ... > Response (Raw response data)
Тоже визуально табуляция и цифра.
А код вызова
$.ajax({
type: "post",
url: "/ajax/save_comment.php",
data: {
cli_id: <?= $cli_id ?>,
mode: "add",
comment: comment
},
success:function(returnData){
console.log(escape(returnData));
},
error: function(){
alert('Error 1!');
}
});
|
|
31.07.2023, 03:09
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,505
|
|
Тебе ещё в прошлый раз сказали: ищи табуляцию перед "<?php": или прям тут в коде, или в include файлах, или в шаблоне если используется cms.
99% на то, что разница меж фоксом и хромом только в отображении, а с сервера приходит одно и то же.
(и 0,9% на диверсию где-то в твоём серверном коде, нацеленную именно на хром)
__________________
29375, 35
Последний раз редактировалось Aetae, 31.07.2023 в 03:11.
|
|
31.07.2023, 03:20
|
Профессор
|
|
Регистрация: 03.01.2019
Сообщений: 156
|
|
Сообщение от Aetae
|
Тебе ещё в прошлый раз сказали: ищи табуляцию перед "<?php": или прям тут в коде, или в include файлах, или в шаблоне если используется cms.
99% на то, что разница меж фоксом и хромом только в отображении, а с сервера приходит одно и то же.
(и 0,9% на диверсию где-то в твоём серверном коде, нацеленную именно на хром)
|
Да, Firefox сам обрезал табуляцию. А знак табуляции затесался в одном из подключаемых файлов после ?>
Всем спасибо.
|
|
31.07.2023, 03:35
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
savsoft,
php.net: "Если файл содержит только код PHP, предпочтительно опустить закрывающий тег в конце файла. Это помогает избежать добавления случайных символов пробела или перевода строки после закрывающего тега PHP, которые могут послужить причиной нежелательных эффектов, ..."
|
|
31.07.2023, 04:10
|
Профессор
|
|
Регистрация: 03.01.2019
Сообщений: 156
|
|
Сообщение от Rise
|
savsoft,
php.net: "Если файл содержит только код PHP, предпочтительно опустить закрывающий тег в конце файла. Это помогает избежать добавления случайных символов пробела или перевода строки после закрывающего тега PHP, которые могут послужить причиной нежелательных эффектов, ..."
|
Спасибо, теперь знаю. Раньше не понимал, зачем такое советуют.
|
|
|
|