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

Ajax+php

29.09.2015, 17:30. Показов 1613. Ответов 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
Сообщений: 433
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
Сообщений: 433
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
Сообщений: 433
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
Сообщений: 433
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю 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. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru