Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
AnatoleiChubais
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 103
#1

$.ajax не отправляет запрос

06.09.2017, 14:38. Просмотров 752. Ответов 7
Метки нет (Все метки)

Здравствуйте, подскажите, пожалуйста, в чем ошибка
PHP
1
2
3
session_start();
    $_SESSION['test']=$_POST['text'];
    echo $_SESSION['test'];
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>jQuery AJAX</title>
    <script src="/jquery.js"></script>
</head>
<body>
 
<textarea id="textField" name="text"></textarea> <br/>
<input type="button" id="btn" value="Go"/>
 
<script>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function() {
        $('#btn').click(function() {
            
            //var textValue = $('#textField').val();
 
            //$.post('test.php',{text: textValue});
 
            $.ajax({
                url: 'ajax.php',
                method: 'POST',
                data: {text: '123'}
            });
 
        });
    });
HTML5
1
2
3
4
</script>
 
</body>
</html>
Т.е. хочу отправить Пост запросс на сервер. И потом, когда обновлю страницу - увидить его выведенным. Но запрос не отсылается. Сначало хотел значение поля выводить, но потом, когда это не сработало, решил упросить задачу и вывести просто текст 123
В url использовал адреса как '/ajax.php' так и тот, что указан сейчас 'ajax.php' - все равно не работает.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2017, 14:38
Ответы с готовыми решениями:

Куда отправляет данные форма через AJAX
Здравствуйте, уважаемые форумчане! Такой весьма необычный вопрос: есть сайт...

Как поисковик отправляет сайту поисковый запрос
Доброго времени суток, уважаемые формунчани) И так вопрос: каким способом...

Ajax запрос
Делаю приложение на ASP.Net MVC4. У меня есть форма для сортировки данных, что...

Ajax запрос
Суть такова: при заходе на страницу php скрипт берет данные из бд и отдает jsу...

Не срабатывает ajax запрос
По нажатию на кнопку нужно обновить содержимое блока: &lt;div...

7
Balanaar
869 / 775 / 375
Регистрация: 11.07.2016
Сообщений: 2,307
06.09.2017, 14:46 #2
Лучший ответ Сообщение было отмечено AnatoleiChubais как решение

Решение

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function() {
        $('#btn').click(function() {
            
            //var textValue = $('#textField').val();
 
            //$.post('test.php',{text: textValue});
 
            $.ajax({
                url: 'ajax.php',
                method: 'POST',
                data: {text: '123'}
            }).then(function(response){
                $('#textField').val(response);
            });
 
        });
    });
1
AnatoleiChubais
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 103
06.09.2017, 15:03  [ТС] #3
А можете пояснить, что она делает? Ну т.е. я вижу, что она возвращает весь код страницы в поле ввода. Но для чего это применяется?
И можно ли вывести обратно не всю страницу, а только переменную какую-то?
0
Balanaar
869 / 775 / 375
Регистрация: 11.07.2016
Сообщений: 2,307
06.09.2017, 15:06 #4
Как весь код? По всей видимости вы нам далеко не всё линканули из файла ajax.php. Должно отобразить только то, что вы выводите с помощью операторов или функций вывода (echo, var_dump() и проч.)

Добавлено через 55 секунд
Javascript
1
2
3
.then(function(response){
    // В переменной response будет результат работы php-скрипта
});
1
AnatoleiChubais
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 103
06.09.2017, 15:12  [ТС] #5
Может я не правильно выразился - я выложил ОДИН файл. Т.е. вот не разбитый для удобства чтения файл
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
41
<?php
    session_start();
    if(!empty($_POST['text'])){$_SESSION['test']=$_POST['text'];}
    echo $_SESSION['test'];
?>
 
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>jQuery AJAX</title>
    <script src="/jquery.js"></script>
</head>
<body>
 
<textarea id="textField" name="text"></textarea> <br/>
<input type="button" id="btn" value="Go"/>
 
<script>
    $(document).ready(function() {
        $('#btn').click(function() {
            
            var textValue = $('#textField').val();
 
            //$.post('test.php',{text: textValue});
 
            
            $.ajax({
                url: 'ajax.php',
                method: 'POST',
                data: {text: textValue}
            }).then(function(response){
                $('#textField').val(response);
            });
 
        });
    });
</script>
 
</body>
</html>
Т.е. пока я тестиюрую, я не стал обработчик php пихать в другой файл, я сделал все в едином документе.
И когда я воожу любую информацию в поле ввода - выводит сначало эту информацию, а потом весь код страницы.
0
Balanaar
869 / 775 / 375
Регистрация: 11.07.2016
Сообщений: 2,307
06.09.2017, 15:19 #6
Ну естественно. Вы обращаетесь на этот файл AJAX-ом, у вас в ответе и приходит разметка целиком, как и должно быть. Отделите ajax-обработку от вашей страницы.
0
AnatoleiChubais
0 / 0 / 1
Регистрация: 28.06.2017
Сообщений: 103
06.09.2017, 15:23  [ТС] #7
А т.е. ajax никогда не сможет прочитать переменную php, верно? Он сможет отобразить только всю страницу целиком.
0
Balanaar
869 / 775 / 375
Регистрация: 11.07.2016
Сообщений: 2,307
06.09.2017, 15:39 #8
AnatoleiChubais, вы либо совсем не осознаёте, что такое ajax, либо плохо изъясняетесь. Попробую коротко объяснить.
Когда вы переходите в вашем браузере по какому-то URL - вы осуществляете запрос. Данный запрос принимает определённый сервер и запускает определённый скрипт в зависимости от запроса. Данный скрипт отправляет результат своей работы в ответ на запрос. Как правило это текстовые данные - HTML-разметка страницы, которую клиент (браузер) принимает и строит страницу на основании полученных данных. Но также данные могут быть и другими. Например, текстовая строка, сериализованная в формат JSON.
Когда вы осуществляете AJAX-запрос на какой-либо URL методом $.ajax() - браузер вместо перезагрузки страницы и построения нового документа по полученной разметке, записывает результат работы скрипта в переменную (в нашем случае в response). Дальше вы этими данными можете оперировать на стороне клиента средствами JS.
1
06.09.2017, 15:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2017, 15:39

Двойной ajax запрос
Имеется аякс скрипт, к примеру это будет форма для добавления комментария. ...

AJAX запрос с авторизацией
Доброго всем! Пытаюсь получить данные с сайта, на котором не зарегистрирован,...

Ajax+php запрос
Подскажите кто нибудь пример на php+ajax, чтоб при клике на кнопку она...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru