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

Ajax ответ от сервера

09.07.2014, 18:01. Показов 11666. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здарствуйте, пытаюсь разобраться с ajax. Понаял как делать отправку формы, получаю данные в виде html.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var fsdf="<?=$_POST['mydata1']?>";
//Получаем параметры
var data = $('#mydata');
var data1 = $('#mydata1').val();
// Отсылаем паметры
$.ajax({
type: "POST",
url: "index.php",
data: "data="+data+"&data1="+data1,
// Выводим то что вернул PHP
success: function(html) {
//предварительно очищаем нужный элемент страницы
$("#result").empty();
//и выводим ответ php скрипта
$("#result").append(html);
}
});
php обработка
PHP
1
$int=$_REQUEST['data1']+100;
В общем я получаю что то вроде скрина страницы куда отсылается запрос.
И вот проблема в том, что я не магу понять как мне получить результат переменный $int в ответе от сервера. Пробовал различные dataType но безрезультатно.
Подскажите пожалуйста как мне из ответа от сервера достать переменную $int и передать ее значение в переменную js.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2014, 18:01
Ответы с готовыми решениями:

Получить ответ от сервера, AJAX
Есть форма, которая передает пару параметров и файл. Этот код работает исправно (мне так кажется) &lt;script&gt; $(function () { ...

Ответ ajax
Доброе время суток. Есть аякс запрос, который возвращает сформированный код javascript. Как сделать так, чтобы ответ вставился в код и...

ответ на AJAX
Здравствуйте! Вот код: $('#send').click(function(){ var xhr = new XHRObject(); xhr.open(&quot;POST&quot;, 'server.php',...

4
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
09.07.2014, 18:40
Лучший ответ Сообщение было отмечено Synigr как решение

Решение

Synigr, для начала поймите то, что ответ сервера — все то, что скрипт выводит через структуру print, echo и т.п. Поэтому тип получаемых данных dataType не влияет на ответ от сервера. Чтобы получить значение $int в JS, нужно вывести его в PHP и получить в обработчике $.ajax().

PHP
1
2
$int=$_REQUEST['data1']+100;
print $int;
Добавлено через 13 минут
Допустим, если Вы хотите вывести 3 значения переменных, то простым текстовым ответом здесь не обойтись, поскольку возвращение в текстовом формате подразумевает одни данные. Теперь необходимо использовать формат данных JSON (как вариант). Формат JSON-данных похож на объекты и массивы в JS. Рассмотрим более детально.

Имеем такой ассоциативный массив:
PHP
1
$array = ['first' => 'первый', 'second' => 'второй'];
Для того, чтобы получить JSON-данные, нужно закодировать массив с помощью функции json_encode() и вывести результат.
PHP
1
2
3
$array = ['first' => 'Первый', 'second' => 'второй'];
 
print json_encode($array);
На стороне клиента нужно сделать Ajax запрос с типом получаемых данных (dataType), равным 'json';
JavaScript
1
2
3
4
5
6
7
8
$.ajax({
  url: document.location,
  dataType: 'json',
  //В data будет передан объект, созданный из JSON-данных
  success: function(data) {
    alert(data.first + ' и ' + data.second);
  }
})
Надеюсь теперь Вам понятно.
3
1 / 1 / 1
Регистрация: 21.03.2012
Сообщений: 30
10.07.2014, 10:03  [ТС]
Да все понял, большое спасибо!

Добавлено через 14 часов 56 минут
Что-то не работает
HTML5
1
2
3
4
5
<form action="" id="myform" method="post" enctype="multipart/form-data">
<input type="file" name="mydata" id="mydata" />
<input type="text" name="mydata1" id="mydata1" />
<input type="button" onclick="send();" value="Отправить" />
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function send()
{
//var fsdf="<?=$_POST['mydata1']?>";
//Получаем параметры
//var data = $('#mydata');
//var data1 = $('#mydata1').val();
// Отсылаем паметры
BX.ajax({
url: document.location,
dataType:'json',
success: function(data) {
 var data = $.parseJSON(data);// пробовал как с этой строкой так и  без нее.
alert(data.first + ' и ' + data.second);
} 
});
}
PHP
1
2
$array = array('first' => 'Первый', 'second' => 'второй');
print json_encode($array);
Весь код находится на одной странице. Я не совсем уверен в кодировке сайта но он все равно должен же возвращать хотябы иероглифы?
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
10.07.2014, 18:08
Synigr, это просто код примера. Плохая практика копировать то, что Вам неизвестно.
JavaScript
1
document.location
Это текущий URL. Скрипту точно нужно сюда отсылать запрос? Тем более в Вашем коде посылался запрос на «index.php».
JavaScript
1
BX.ajax({
Что за BX? У jQuery зарезервирована переменная $.
JavaScript
1
var data = $.parseJSON(data);// пробовал как с этой строкой так и  без нее.
Зачем это нужно? $.parseJSON автоматически применяется к результату тогда, когда указан:
JavaScript
1
dataType :'json'
0
1 / 1 / 1
Регистрация: 21.03.2012
Сообщений: 30
11.07.2014, 11:17  [ТС]
Я просто в отчаянии пробовал уже разные способы, BX появилось уже потом, это как то связано с ajax в bitrix и в в коде в котором я ковырялся использовался такой вариант отправки запроса, document.location (тут я как понял запрос отсылается в этот же документ, возможно ошибаюсь) поставил это когда с index.php не заработало, var data = $.parseJSON(data); тоже вариант появившийся от отчаяния Пробовал так же ваш пример отсылать как в index.php в котором у меня сам запрос находится так и на другую страницу, но ничего не вернулось, короче перепробовал кучу вариантов но почему то работает только с html.
ynigr, это просто код примера. Плохая практика копировать то, что Вам неизвестно.
Ну я обычно когда надо узнать то чего не знаю, и документация не помогает стараюсь найти рабочий вариант и потом уже разбирать его по частям что бы понять как оно работает. Но вот с ajax , беда прям какая то куча вариантов и у меня почему то ни один пример с dataType :'json' не работает.

Добавлено через 11 часов 16 минут
После некоторых попыток убрал
dataType :'json' и alert() стал выводить undefined, почему с dataType :'json' несрабатывает алерт?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2014, 11:17
Помогаю со студенческими работами здесь

Ответ на AJAX запрос
Всем привет. Не могу разобраться, я либо понял как работать с ajax либо нет) Вот такой код на JS: $(document).ready(function() { ...

Передать AJAX ответ в php
Добрый вечер программисты! Возникла такая ситуация: Необходимо послать AJAX запрос в формате JSON на сервер гугл матрица расстояний....

Не выводит ajax ответ в div
в консоле пишет ответ 200 все норм там ответ вижу, а в div не выводит, как сделать что бы в div выводил то что находится в файле demo.php ...

JQuery ajax запрос и php ответ
Предполагается, что получив от сервера ответ JS выведет логин, добавив его в тело страницы. Почему связка запрос-ответ не работает? Консоль...

Как получить ответ Ajax в переменную
Доброго времени суток. Пытаюсь заставить нормально работать ajax. Есть контроллер который (пока что) выводит &quot;hello ajax!&quot;. Делаю...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru