Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41

Ajax+php

29.09.2015, 17:30. Показов 1649. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Мне нужно чтобы результат который возвращается вставлялся в контейнер #return_thanks.
Делаю проверку через alert(data) и данные с файла s.php выводятся но почему-то в контейнер не вставляются.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var $name=$("#name").val();
                var $email=$("#email").val();
 
                $.ajax
                ({
                    type:'POST',
                    url:'subscribe.php',
                    data:({name:$name,email:$email}),
                    success: function(data)
                    {
                        alert(data);                
                        $("#return_thanks").html(data);
                    }
                });
HTML5
1
2
3
4
5
6
                .
                .
                .
                         <div id="return_thanks"></div>
                        </body>
                        </html>
Файл subscribe.php:
PHP
1
2
3
<?
echo "ok";
?>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2015, 17:30
Ответы с готовыми решениями:

Есть AJAX код, который отправляет POST данные в php. Как их принять в php?
Всем привет! AJAX код отправляет post данные в php файл. Как принять эти post данные в php? Вот AJAX: ...

Ajax + php и js
Доброго времени суток. Прошу помощи в интеграции js'а в ajax т.е. есть код &lt;script type=&quot;text/javascript&quot;&gt; ...

Ajax in php
помогите написать код. я новичок и не получается у меня есть select нужно считать текст option и передать в php. вот наработки ...

20
100 / 106 / 50
Регистрация: 22.09.2015
Сообщений: 434
29.09.2015, 17:32
0101, А больше ошибок никаких нет в консоли?

JavaScript
1
2
var $name=$("#name").val();
var $email=$("#email").val();
в JS переменные без $
0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 17:45  [ТС]
Убрал $:
JavaScript
1
2
var name=$("#name").val();
var email=$("#email").val();
Но всё равно не работает.
Ошибок нет.
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
29.09.2015, 17:49

Не по теме:

Кликните здесь для просмотра всего текста
в JS переменные без $
В JS переменные могут начинаться со знака $, более того, существует мнение, что при использовании jquery, переменную, которой присваивается jquery-набор лучше именовать именно с использованием $, чтобы было наглядней.


0101 Сделайте console.dir(data) - что выводит? Каково структура этого data? Это объект, строка?
0
29.09.2015, 17:51

Не по теме:


Svid_off, действительно, чего-то всё время думал что нельзя так называть переменные

0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.09.2015, 17:51
Цитата Сообщение от 0101 Посмотреть сообщение
Убрал $
Убирать не нужно. Доллар в начале имени переменной - это нормальная практика. Если alert-ом выводится ответ сервера ("ok") , то проблема или в селекторе "#return_thanks" (убедитесь, что нет опечатки), или в том, что у вас несколько элементов с одинаковым id. В этом случае, данные выводятся в первый, но там, где вы их не ждёте.
1
29.09.2015, 17:58

Не по теме:

PHP
1
echo "ok"
О! А слона-то я и не заметил:)

0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 18:07  [ТС]
Только 1 селектор "#return_thanks"

Добавлено через 6 минут
Цитата Сообщение от Svid_off Посмотреть сообщение

Не по теме:

Кликните здесь для просмотра всего текста

В JS переменные могут начинаться со знака $, более того, существует мнение, что при использовании jquery, переменную, которой присваивается jquery-набор лучше именовать именно с использованием $, чтобы было наглядней.


0101 Сделайте console.dir(data) - что выводит? Каково структура этого data? Это объект, строка?
data - строка.
выводит "Uncaught ReferenceError: data is not defined(…)"
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.09.2015, 18:14
Цитата Сообщение от 0101 Посмотреть сообщение
выводит "Uncaught ReferenceError: data is not defined(…)"
Вывод нужно сделать в callback-функции "success".
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
29.09.2015, 18:15
Попробуйте в этой строчке:
JavaScript
1
data:({name:$name,email:$email}),
убрать скобки
JavaScript
1
data:{name:$name,email:$email},
0
29.09.2015, 18:16

Не по теме:

Цитата Сообщение от Svid_off Посмотреть сообщение
Попробуйте в этой строчке убрать скобки
Можете не убирать. На работу это не влияет

0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 18:26  [ТС]
Цитата Сообщение от Svid_off Посмотреть сообщение
Попробуйте в этой строчке:
JavaScript
1
data:({name:$name,email:$email}),
убрать скобки
JavaScript
1
data:{name:$name,email:$email},
не помогло

Добавлено через 8 минут
Цитата Сообщение от Lazy_Den Посмотреть сообщение
Вывод нужно сделать в callback-функции "success".
Сдалал в callback-функции и все работает,строка из data вставляется в контейнер.
Странно,почему тогда не работает?
0
 Аватар для Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
29.09.2015, 18:26
На самом деле в коде ошибок нет.
Точно ли у Вас выводится этот алерт:
JavaScript
1
alert(data);
И свой post запрос Вы видите в консоли? И ошибок никаких нет в консоли?
0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 18:29  [ТС]
Цитата Сообщение от Svid_off Посмотреть сообщение
На самом деле в коде ошибок нет.
Точно ли у Вас выводится этот алерт:
JavaScript
1
alert(data);
И свой post запрос Вы видите в консоли? И ошибок никаких нет в консоли?
Да,через alert выводится строка из файла "subscribe.php" и запрос виден в консоли.
0
100 / 106 / 50
Регистрация: 22.09.2015
Сообщений: 434
29.09.2015, 18:35
0101, чудеса какие-то ну попробуйте $("#return_thanks").append(data), чего уж там
0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 18:43  [ТС]
Цитата Сообщение от Silver22 Посмотреть сообщение
0101, чудеса какие-то ну попробуйте $("#return_thanks").append(data), чего уж там
безрезультатно(

Добавлено через 3 минуты
Вот полностью код:
JavaScript
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
<script>
 
    $(function(){
 
        $("form").submit(function() {
            var error=0;
            $("form").find(":input").each(function() {
 
                     var val = $(this).val();
                        if(!val){
                            $(this).css('border', 'red 1px solid');
                            error=1;    
                                                        
                        }
                        else{
                            $(this).css('border', 'gray 1px solid');
                        }   
                                
           })
 
            var email = $("#email").val();
            if(!isValidEmailAddress(email)){
                error=2;
                $("#email").css('border', 'red 1px solid');
            }
            
 
            
            if(error==0)
            { 
                var $name=$("#name").val();
                var $email=$("#email").val();
 
                $.ajax
                ({
                    type:'POST',
                    url:'subscribe.php',
                    data:({name:$name,email:$email}),
                    success: function(data)
                    {
                        alert(data);            
 
                        $("#return_thanks").html(data);
                        
                    }
                });
    
            }
            else{
            var err_text = "";
            if(error==1)  err_text="Введите имя";
            if(error==2)  err_text="Некорректный e-mail!";
 
            
            $("#messenger").html(err_text); 
            $("#messenger").fadeIn("slow"); 
            return false;
            }
                
        })
    });
    
    
    function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    }
    
 
    </script>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.09.2015, 18:45
Цитата Сообщение от 0101 Посмотреть сообщение
безрезультатно
А если вместо data, записать руками какую-нибудь строку?
JavaScript
1
$("#return_thanks").append('Hello, world!');
Это должно сработать стопроцентно. И кстати, элемент у вас точно с id = "return_thanks", а не id = "#return_thanks" или class = "return_thanks"?

Добавлено через 2 минуты
Цитата Сообщение от 0101 Посмотреть сообщение
Вот полностью код:
JavaScript
1
2
3
$("form").submit(function(e) {
    e.preventDefault();
    /* .... */
0
100 / 106 / 50
Регистрация: 22.09.2015
Сообщений: 434
29.09.2015, 18:46
0101, Ваш первый вариант кода работает идеально, проверяйте ошибки на своей стороне
https://yadi.sk/d/N6LlqZuljQPhk
0
2 / 2 / 1
Регистрация: 29.09.2015
Сообщений: 41
29.09.2015, 18:50  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
А если вместо data, записать руками какую-нибудь строку?
JavaScript
1
$("#return_thanks").append('Hello, world!');
Это должно сработать стопроцентно. И кстати, элемент у вас точно с id = "return_thanks", а не id = "#return_thanks" или class = "return_thanks"?

Добавлено через 2 минуты

JavaScript
1
2
3
$("form").submit(function(e) {
    e.preventDefault();
    /* .... */
В контейнер даже строка не записывается.
id контейнера 100% правильно записано.

Добавлено через 2 минуты
Цитата Сообщение от Silver22 Посмотреть сообщение
0101, Ваш первый вариант кода работает идеально, проверяйте ошибки на своей стороне
https://yadi.sk/d/N6LlqZuljQPhk
Так у меня тоже работает ,но в полном скрипте - нет.
0
100 / 106 / 50
Регистрация: 22.09.2015
Сообщений: 434
29.09.2015, 19:57
Лучший ответ Сообщение было отмечено 0101 как решение

Решение

0101,
JavaScript
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
jQuery(document).ready(function($) {       
 
        $("form").submit(function(event) {
            event.preventDefault();
            var error=0;
            $("form").find(":input").each(function() {
 
                     var val = $(this).val();
                        if(!val){
                            $(this).css('border', 'red 1px solid');
                            error=1;    
                                                        
                        }
                        else{
                            $(this).css('border', 'gray 1px solid');
                            error = 0;
                        }   
                                
           })
 
            var email = $("#email").val();
            if(!isValidEmailAddress(email)){
                error=2;
                $("#email").css('border', 'red 1px solid');
            } else {
                error = 0;
            }
            
 
            console.log(error)
            if(error==0)
            { 
                var $name=$("#name").val();
                var $email=$("#email").val();
 
                $.ajax
                ({
                    type:'POST',
                    url:'subscribe.php',
                    data:({name:$name,email:$email}),
                    success: function(data)
                    {
                        alert(data);            
 
                        $("#return_thanks").html(data);
                        
                    }
                });
    
            }
            else{
            var err_text = "";
            if(error==1)  err_text="Введите имя";
            if(error==2)  err_text="Некорректный e-mail!";
 
            
            $("#messenger").html(err_text); 
            $("#messenger").fadeIn("slow"); 
            return false;
            }
                
        })
    });
    
    
    function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.09.2015, 19:57
Помогаю со студенческими работами здесь

Checkbox ajax php
Доброго времени суток, тебе мой друг ! тема не однократно повторялась, (например тут и тут), и в разных вариациях, но мой мозг так...

php код на ajax
Приветсвую всех На пхп пишу более-менее, но с js траблы, по этому прошу помощи тут. Есть кусок кода: &lt;?php //...

Вывод в Ajax из PHP
Подскажите как выводить результат из PHP в Ajax. Есть PHP: $sql_select = &quot;SELECT id FROM clients WHERE day = '{$newDate}' and...

PHP -> die(), AJAX -> ?
Есть страница с формой и есть скрипт, которому форма передает данные. Скажите пожалуйста, если я в PHP-скрипте пишу exit() или die(),...

AJAX + PHP. Формы
Всем доброго времени суток! У меня на сайте есть поиск. Как мне сделать подсказки при введении поискового запроса, с учетом...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru