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

Ajax запрос

09.07.2014, 11:36. Показов 584. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть файл php из него надо передать значение переменной в js переменную
alert выдает неопределен.



PHP
1
2
3
4
5
<?php
$mass = array("яблоко","груша", "апельсин", "банан", "киви");
$mass1 =json_encode($mass);
echo $mass1; 
?>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
 <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript">var js;
  $.ajax({
 
   url:'1.php',
   success : function(responce){
    js = responce.mass1;
    alert(js);
    
   }
  });
 </script>
</head>
<body>
    
</body>
</html>
но стоит записать вот так
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
 <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript">var js;
  $.ajax({
 
   url:'1.php',
   success : function(responce){
    js = responce;
    alert(js);
    
   }
  });
 </script>
</head>
<body>
    
</body>
</html>
alert выдает сразу весь php,а не конкретную переменную

в чем проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.07.2014, 11:36
Ответы с готовыми решениями:

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

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

JQuery, Ajax и LIVE!? Возможно ли повесить ajax запрос на live?
все делаю правильно, но у меня даже onSubmit alert(&quot;ok!&quot;); выводить не хочет? код примерно такой: ...

5
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
09.07.2014, 14:25
vishenka91, попробуй вот так:

PHP
1
2
$mass = array("яблоко","груша", "апельсин", "банан", "киви");
print( json_encode($mass, true) );
суть в `true` внутри json_encode;
JavaScript
1
2
3
4
5
6
7
8
9
10
var js;
 
$.ajax({
 url:'1.php',
 success : function(resp) {
   js = resp[ 1 ];
   alert(js);
 }
});
 </script>
Рабочий пример

Добавлено через 1 минуту
в твоём коде тебе вернётся массив, при этом вывести можно элемент массива, если попоытаешься вывести массив то он напечатает [Object()]
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
09.07.2014, 14:25
В вашем php коде не вижу определения ассоциативного массива.
Попрубуйте так:
PHP
1
2
3
4
5
6
<?php
//$mass = array("яблоко","груша", "апельсин", "банан", "киви");
$mass=array('a'=>"яблоко",'b'=>"груша", 'c'=>"апельсин", 'd'=>"банан", 'e'=>"киви");
$mass1 =json_encode($mass);
echo $mass1; 
?>
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
<html>
<head>
 <title></title>
   <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>-->
   <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    var js;
  $.ajax({
   url:'1.php',
   success : function(responce){
    js = responce;
    if(1) {
        obj=$.parseJSON(js);
        var s='';
        for (var t in obj){
            s+=" "+t+":"+obj[t];
            }
        alert('json Object:'+s);
    }else
        alert(js);
   }
  });
 </script>
</head>
<body>
    
</body>
</html>
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 3
09.07.2014, 15:28  [ТС]
nikolay1982, Ваш вариант помог.
Хотелось бы вам задать пару вопроcов в связи с этим.
как теперь полученный json можно перевести м вариант обычного js массива для использования вот в этом коде
JavaScript
1
2
3
4
5
6
7
var html='<table border="1" cellspacing="0" cellpadding="4">'; //создание таблицы
for (var i=0;i<mass.length;i++){
html+='<tr><td>'+mass[i]+'</td></tr>';
}
html+='</table>';
 
document.getElementById('tablebody').innerHTML=html;
и вопрос второй. как нужно переделать код,что бы получать несколько массивов каждый в свою переменную js из того же файла php
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
09.07.2014, 20:58
PHP
1
2
3
4
5
6
<?php
$mass0 = array("яблоко","груша", "апельсин", "банан", "киви");
//$mass=array('a'=>"яблоко",'b'=>"груша", 'c'=>"апельсин", 'd'=>"банан", 'e'=>"киви");
$mass1 =json_encode(array('fructs'=> $mass0));
echo $mass1; 
?>
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
<html>
<head>
 <title></title>
   <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>-->
   <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    var js;
  $.ajax({
   url:'1.php',
   success : function(responce){
    js = responce;
    var obj;
    if(1) {
        obj=$.parseJSON(js);
        /*var s='';
        for (var t in obj){
            s+=" "+t+":"+obj[t];
            }
        */
        //alert('json Object:'+s);
    }else
        alert(js);
    var html='<table border="1" cellspacing="0" cellpadding="4">'+"\n"; //создание таблицы
    if (obj!=undefined){
        var mass=obj.fructs;
        for (var i=0;i<mass.length;i++){
            html+='<tr><td>'+mass[i]+'</td></tr>'+"\n";
            }
        }
        html+='</table>';
        $('#tablebody').html(html);
   }
  });
 </script>
</head>
<body>
    <div id="tablebody">
    </div>
</body>
</html>
Добавлено через 24 минуты
Цитата Сообщение от vishenka91 Посмотреть сообщение
и вопрос второй. как нужно переделать код,что бы получать несколько массивов каждый в свою переменную js из того же файла php
Можно get использовать:
PHP
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
<?php
$mass0 = array("яблоко","груша", "апельсин", "банан", "киви");
$mass1 = array("персики","абрикосы","сливы");
if (isset($_GET['group']))
    {
        $id=$_GET['group'];
    }else $id=0;
$mass=null;
$mass_arr=array($mass0,$mass1);
//$id=2;
if ($id>=count($mass_arr) or ($id<0)) {
    echo 'Error!invalid group id:'.$id;
    exit(0);
    }
if (1) $mass=$mass_arr[$id];
else
switch($id){
    case 1:
    $mass =$mass0;
    break;
    case 0:
    default:
    $mass =$mass0;
    break;
} 
    
if ($mass==null) print "Error mass is null!";
else {
    $mass_out=json_encode(array('fructs'=> $mass));
    echo $mass_out;
}
?>
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
    var js;
  $.ajax({
   url:'1.php',
   data:'group=1',
   success : function(responce){
    js = responce;
    var obj;
    //alert(js);
    try{
        obj=$.parseJSON(js);
        /*var s='';
        for (var t in obj){
            s+=" "+t+":"+obj[t];
            }
        */
        //alert('json Object:'+s);
    }catch(e){
        alert("Error!data not valid!"+e+"\nResponse:"+responce);
        }       
    if (obj!=undefined){
        var html='<table border="1" cellspacing="0" cellpadding="4">'+"\n"; //создание таблицы
        var mass=obj.fructs;
        for (var i=0;i<mass.length;i++){
            html+='<tr><td>'+mass[i]+'</td></tr>'+"\n";
            }
        html+='</table>';
        $('#tablebody').html(html);
        }
   }
  });
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 3
09.07.2014, 21:58  [ТС]
nikolay1982, Спасибо огромное.А как тут карму добавить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2014, 21:58
Помогаю со студенческими работами здесь

Ajax запрос
Здравствуйте, у меня проблемы с ajax запросом, никак не пойму что не правильно, помогите пожалуйста, подскажите, вот кот ajax...

Ajax запрос
Всем привет. Есть два файла: index.html &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;...

Ajax запрос к БД
Добрый вечер! Возникла следующая проблема: 1) Собираю данные VALUE из формы по id, отправляю обработчику. Кажись все отлично, но нет ...

Ajax запрос
Всем привет. Такая вот штука: создать хочу запрос на вывод постов за последний день. Функция PHP есть работает(проверял). А вот запрос не...

Ajax запрос
Здравствуйте. Помогите с проблемкой. Нужно чтобы при загрузке страницы отправляло запрос скрипту, без каких либо ответов и тд. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru