С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 16.12.2013
Сообщений: 104

Непонятное поведение кода, использующего AJAX

01.08.2016, 16:22. Показов 1246. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Решил написать элементарный пример использования технологии ajax, но мне выдало очень странный результат. Вот сами исходные коды, это js:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<html>
<head>
    <meta charset="utf-8">
    <title> Это моя первая страничка! </title>
    <link rel="stylesheet" type="text/css" href="css.css" >
</head>
    
<body>
<script type="text/javascript">
function startAjax(url){
  var request;
  if(window.XMLHttpRequest){
      request = new XMLHttpRequest();
  } else if(window.ActiveXObject){
      request = new ActiveXObject("Microsoft.XMLHTTP");  
  } else {
      return;
  }
 
  request.onreadystatechange = function(){
        switch (request.readyState) {
          case 1: print_console("<br/><em>1: Подготовка к отправке...</em>"); break
          case 2: print_console("<br/><em>2: Отправлен...</em>"); break
          case 3: print_console("<br/><em>3: Идет обмен..</em>"); break
          case 4:{
           if(request.status==200){    
                        print_console("<br/><em>4: Обмен завершен.</em>");
                        document.getElementById("printResult").innerHTML = "<b>"+request.responseText+"</b>";
                     }else if(request.status==404){
                        alert("Ошибка: запрашиваемый скрипт не найден!");
                     }
                      else alert("Ошибка: сервер вернул статус: "+ request.status);
           
            break
            }
        }      
    }
    request.open ('GET', url, true);
    request.send ('');
    /*request.open("POST",url, true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("param1=1&param2=2");*/
  }
  function print_console(text){
    document.getElementById("console").innerHTML += text;
  }
</script>
 
<a href="#" onclick="startAjax('test.php');">Запустить php скрипт</a>  
<div id="console" style="border: 1px solid gray; width:250px; height: 110px; padding: 10px; background:lightgray;">
Консоль выполнения запроса:
</div>
<br/>
<div id="printResult">
После нажатия на ссылку, тут будет сообщение с сервера!
</div>
</body>
 
</html>
и php, который подгружается
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
SetCookie("Login","qazwsx");
?>
<html>
<head>
    <meta charset="utf-8">
    <title> Это моя первая страничка! </title>
</head>
    
<body>
<?php
echo "Метод передачи данных: ".$_SERVER['REQUEST_METHOD'];
echo "<br/>Получили по средствам AJAX технологии следующие данные:";
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
$a=rand(1,5);
if ($a==3){?>
 
    <table border="1">
        <tr>
            <td rowspan="2">Ячейка 1, ряд 1+2</td>
            <td>ряд1 ячейка2 <?php echo $a;?></td>
        </tr>
        <tr>
            <td>
                <p>ряд 2
                    <b> ячейка 2</b>
                </p>
            </td>
        </tr>
    </table>
 
<?php }else{?>
 
<table border="1">
    <tr>
        <td rowspan="2">Яhj2</td>
        <td>ряд1 ячейка2 <?php echo $a;?></td>
    </tr>
    <tr>
        <td>
            <p>hj 2
                <b> jh 2</b>
            </p>
        </td>
    </tr>
</table>
<?php } ?>
Здравствуйте, это сайт!<br>
<?php
$myname = $_GET['myname'];
$surname = $_GET['surname'];
echo "<br/>Ваше имя ";
echo  $myname;
echo ",<br/>а фамилия ";
echo $surname;
echo "gfefgeryhrty <br/>";
$host = "localhost";
$user = "bduser";
$password = "123456";
$sql=mysqli_connect($host, $user, $password);
 
// Соединились, теперь выбираем базу данных :
mysqli_select_db($sql,'testbase');
$q = mysqli_query($sql,"SELECT * FROM Persons");
echo "В таблице mytable ".mysqli_num_rows($q)." записей";
?>
</body>
</html>
Приложил скрин со странным отображением. Замечу, что сам по себе php нормально отображается. Собственно вопрос, в чём ошибка? Единственное что сам заметил, если засунуть тег типа <br> в echo, то начинается ерунда, но её наверно не должно быть.
Миниатюры
Непонятное поведение кода, использующего AJAX  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.08.2016, 16:22
Ответы с готовыми решениями:

Непонятное поведение скрипта
Код скачал с интернета. На сайте источник скрипт работает нормально - вставил его в свою страницу - не работает. Код на моей странице: ...

Непонятное поведение return
Добрый вечер, господа! Есть некий массив в котором присутствуют строки и числа a =. Задача заключается в переборе массива с помощью...

Непонятное поведение AJAX-запроса
Здравствуйте, хочу данные из формы отправить на сервер: &lt;form action=&quot;&quot;&gt; &lt;label for=&quot;address&quot;&gt;&lt;input...

3
 Аватар для dzendev
181 / 103 / 48
Регистрация: 12.03.2016
Сообщений: 260
01.08.2016, 20:34
Я скопировал Ваш код и запустил у себя. Подобной проблемы не обнаружил.

Если внимательно посмотреть на Ваш скрин, то видно что строка кода не выводится:
PHP
1
echo "Метод передачи данных: ".$_SERVER['REQUEST_METHOD'];
То есть где-то здесь ошибка. Почему-то фаил test.php перестаёт интерпретироваться как php скрипт и выводится как обычный html
0
1 / 1 / 1
Регистрация: 16.12.2013
Сообщений: 104
01.08.2016, 21:37  [ТС]
dzendev, эх, надо будет ещё браузерами поиграть, может с огнелисом что не так... причина отказа работы строчки
PHP
1
echo "Метод передачи данных: ".$_SERVER['REQUEST_METHOD'];
отсутствие тега <br> в строке-аргументе, но если его поставить php в html превращается..
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
02.08.2016, 06:52
Лучший ответ Сообщение было отмечено Dimofey как решение

Решение

Dimofey, PHP код не выполняется / не работает / выводится в браузер / пустая белая страница
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.08.2016, 06:52
Помогаю со студенческими работами здесь

Непонятное поведение модального окна
Предполагается, что при щелчке по элементу #VerifyKBM сначала будет выведено модальное окно, а затем уже будет обращение по AJAX к...

Непонятное поведение поведение TIM6 на STM32f4discovery
Вводные данные: SYSCLK=168Мгц; AHB Pressotir=1; APB1 Pressotir=4; TIM6_Pessotir=3; Т.о. частота тактирования на таймере=42Мгц ...

Непонятное поведение
Всем привет! В книге &quot;Прата - Язык программирования C++. Лекции и управжения 2011&quot; нашёл вот такой пример: const free_throws...

Непонятное поведение
Касперский обнаружил немного мусора. После загрузки компьютер работает нормально, но со временем начинает подтормаживать. То ли железоЮ то...

Непонятное поведение ОС
Здрасте! Купил новый комп, а он загружается через раз (чаще через несколько раз), выключается долго, и один раз не вышел из спячки. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru