Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
 Аватар для androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782

не срабатывает Ajax запрос

29.08.2012, 15:16. Показов 5226. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь сделать следущее: с помощю PHP взять некую информацию с сайта. Т.е. есть поле ввода, ввожу туда название сайта, после получаю нужную инфу. Мне нужно сделать без перезагрузки страницы это, ну естессно Ajax. Пробую следующим образом, но ничего не выходит.
HTML5
1
2
3
4
5
6
7
8
9
10
11
<form id=payment method="post" name="forma1" action="">
        
                                  <label for=name>Vvedite sait:</label>
                                  <input id=name type=text placeholder="Here" required autofocus name="site">
 
         
            <div align="left" style="padding-right:55px;">
                <input type="submit" value="start" name="searchbutton" id="sb">
            </div>
          
      </form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(function($){
            var form;
            $('#payment').submit(function(e){
                form = this;
                e.preventDefault();
                var response = $.ajax({
                    type: 'POST',
                    url: this.action,
                    data: $(this).serialize(),
                    dataType: 'json',
                    success: successResult()
                    {
                        alert("ok, ajax srabotal");
                    }
                });
            });
        })(this.jQuery);
Что не так делаю?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2012, 15:16
Ответы с готовыми решениями:

Почему не срабатывает Ajax запрос?
Добрый день! Не пойму почему не срабатыват запрос... &lt;form method=&quot;POST&quot; action=&quot;/mails_sender.php&quot; id=&quot;feedback&quot;...

AJAX запрос. Почему срабатывает функция ошибки?
Здравствуйте. Есть код $('#button_save').click(function() { var text = $('#text').val(); $.ajax({type:&quot;POST&quot;,...

AJAX запрос к файлу, который сам делает AJAX запрос
Прошу прощение за название темы, но я не знаю как это коротко описать... Здравствуйте. На странице HTML я обращаюсь к файлу PHP: ...

7
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.08.2012, 17:40
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
            var form;
            $('#payment').submit(function(e){
                form = this;
                e.preventDefault();
                $.ajax({
                    type: 'POST',
                    url: $(this).attr('action'),
                    data: $(this).serialize(),
                    dataType: 'json',
                    success: function(data)
                    {
                        alert("ok, ajax srabotal");
                    }
                });
            });
        });
Может так?
0
 Аватар для androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
29.08.2012, 18:49  [ТС]
Так тоже страница перегружается Вот точно какая-то мелочь где-то, которую не заметно

Добавлено через 9 минут
Вот, если я ставлю <input type="button"> вместо <input type="submit">, то не перегружается, но тогда PHP скрипт не срабатывает
PHP
1
2
3
4
5
6
7
8
9
10
if ($_POST['searchbutton'] == true)
{
if($_POST['site'] == NULL)
{
echo "Field cannot be empty";
return;
}
else{
//my action
}
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
29.08.2012, 20:54
У меня заработал такой вариант:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
   $(document).ready(function(){
             $('#payment').submit(function(e){
                e.preventDefault();
               $.ajax({
                     type: "POST",
                    url: $(this).attr('action'),
                    data: $(this).serialize(),
                    dataType: 'html',
                    success: function(data)
                    {
                        alert("ok, ajax srabotal");
                    }
                });
            });
        });
   
   </script>
Здесь можно увидеть работу
1
 Аватар для androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
29.08.2012, 21:20  [ТС]
ТАк, вроде отработал аякс, но теперь PHP не работает вообще и если меняю type на JSON, То вообще ничего не происходит...Ты бы не мог проверить у себя мой код? Может ты увидишь что не так?

HTML5
1
2
3
4
5
  <form id=payment method="post" name="forma1">
              <label for=name>ENTER www.bbc.com:</label>
              <input id="name" type=text placeholder="Write here..." name="site">
              <input type="submit" value="START" name="searchbutton" id="sb">
          </form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <script type="text/javascript">
        $(document).ready(function(){
             $('#payment').submit(function(e){
                e.preventDefault();
               $.ajax({
                     type: "POST",
                    url: $(this).attr('action'),
                    data: $(this).serialize(),
                    dataType: 'json',
                    success: function(data)
                    {
                        alert("ok, ajax srabotal");
                    }
                });
            });
        });
        </script>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <?php
 
if(isset($_POST['searchbutton'])){
 
 
$homepage = file_get_contents("http://".$_POST['site']);
preg_match('%<meta.*name="keywords".*content="(.*)"\s+/>%U', $homepage, $regs);
 
 
 
if(count($regs))
{
    $myString = implode('', $regs );  
     print_r($myString);
}
}
 
 
?>
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
29.08.2012, 23:33
Этот код
JavaScript
1
data: $(this).serialize()
упорядочивает данные формы, сопоставляя name=значение. Приходит это всё php-скрипту, а он запускается если есть значение кнопки, но мы то заменили стандартную отправку - ajax'ом и в данных ничего не отправляем о кнопке, т.е. скрипт проверяет:
PHP
1
if(isset($_POST['searchbutton']))
нет - и ничего не выполняет.
Что делать?
Попробуйте вынести php-скрипт в отдельный файл (в action его адрес), а там проверять, но не кнопку (или иначе):
PHP
1
2
3
4
if(isset($_POST['site'])){
$adr=$_POST['site'];
.
.
На практике не проверял.
0
 Аватар для androidos
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
30.08.2012, 01:43  [ТС]
Попробовал - результат тот же ((
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
31.08.2012, 12:03
Вчерашний день прожил без интернета, отвечаю только сегодня.
Итак, подытожим, Вы желаете чтобы пользователь вводил в поле адрес сайта, отправлял его и в ответ получал содержимое из meta content="содержимое" . (Правильно понял?) Это содержимое нужно куда - то поместить. Я выбрал блок с id="info"

Код главной страницы (! в демостранице - вбил адрес форума по умолчанию, чтобы не вводить вручную при проверках, здесь оставил как было):
HTML5
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Ajax запрос страницы</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery.js"></script>
   <script type="text/javascript">
   $(document).ready(function(){
             $('#payment').submit(function(e){
                e.preventDefault();
               $.ajax({
                     type: "POST",
                    url: $(this).attr('action'),
                    data: $(this).serialize(),
                    dataType: 'html',
                    success: function(data)
                    {
                        $('#info').html(data);
                    }
                });
            });
        });
   
   </script>
 
</head>
<body>
<form id=payment method="post" name="forma1" action="php1.php">
        
                                  <label for=name>Vvedite sait:</label>
                                  <input id="name" type=text placeholder="Here" required autofocus name="site">
 
         
            <div align="left" style="padding-right:55px;">
                <input type="submit" value="start" name="searchbutton" id="sb">
            </div>
  <div id="info"></div>          
      </form>
</body>
</html>
Код страницы php1.php - обработчик ajax запроса:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
header('Content-type: text/html; charset=windows-1251');
 if(isset($_POST['site'])){
 $adr=$_POST['site'];
 
$homepage = file_get_contents("http://".$adr);
preg_match('%<meta.*name="keywords".*content="(.*)"\s+/>%U', $homepage, $regs);
 
 
 
if(count($regs))
{
    $myString = implode('', $regs );  
     print_r($myString);
}
}
 
?>
Демонстрация
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2012, 12:03
Помогаю со студенческими работами здесь

Ajax запрос в div с уже 'прилетевшим' ajax'om
Добрый день, ребят... Не нашёл отдельного раздела по ajax, а разобраться очч надо, т.к.в JS полный профан. Никак не могу разобраться уже...

Не всегда срабатывает ajax
Доброго времени суток. Делаю сайт по нахождению оптимального пути по алгоритму Дейкстры.. При записи на сервер возникает проблема, что...

Не корректно срабатывает AJAX
Есть скрипт $(&quot;#login-form&quot;).submit(function (e) { $.ajax({ type: &quot;POST&quot;, url: &quot;login&quot;, ...

Не всегда срабатывает ajax метод
Здравствуйте, подскажите пожалуйста, почему не всегда срабатывает ajax запрос? Делаю универсальную функцию, для обращения к серверу: ...

не срабатывает post с пользователями в ajax
Дело всё в том есть модальное окно $(document).ready(function() { $('a').click(function(e) { e.preventDefault(); var...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru