Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ajax вывод результата работы php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LEONeso
Отправлено: 24 Марта, 2011 - 14:38:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


Помог: 1 раз(а)




Здравствуйте, подскажите, как вывести результат работы php скрипта (из отдельного файла) в действующий файл (index.php) с помощью AJAX ?

Требуется пример.

Я нашел что-то ,но не знаю что.
PHP:
скопировать код в буфер обмена
  1. # index.html
  2.  
  3. <html>
  4. <head>
  5.         <meta http-equiv='content-type' content='text/html;charset=utf-8' />
  6.         <script language="JavaScript" type="text/javascript" src="prototype.js"></script>
  7.         <script type="text/javascript">
  8.                 // ... ajax request ...
  9.                 function WTF(value_A, value_B)
  10.                 {
  11.                         new Ajax.Request("/request.php", {
  12.                                 method: 'post',
  13.                                 parameters: {
  14.                                         wtf_var_A: value_A,
  15.                                         wtf_var_B: 'много букоф!',
  16.                                         wtf_var_C: value_B,
  17.                                 },
  18.                                 asynchronous: true,
  19.                                 onComplete: function(json) {
  20.                                        
  21.                                         rst = eval('(' + json.responseText + ')');
  22.                                        
  23.                                         alert("wtf_var_A:" + rst.wtf_var_A + ", wtf_var_B:" + rst.wtf_var_B + ", wtf_var_C:" + rst.wtf_var_C);
  24.                                 }
  25.                         });
  26.                 }
  27.                 // ... ajax request ...
  28.         </script>
  29. </head>
  30. <body>
  31. <a onclick="WTF(111, 222); return;">тынц</a>
  32. <div id='request'></div>
  33. </body>
  34. </html>
  35.  
  36. # request.php
  37.  
  38. <?PHP
  39. header("Content-type: text/html; charset=utf-8");
  40.  
  41. $array = array();
  42.  
  43. foreach ($_POST as $key => $value) $array[] = '"'.$key.'": "'.$value.'"';
  44.  
  45. echo '{'.join(", ", $array).'}';
  46. ?>

(Добавление)
Нашел еще один пример, но он не работает: внешняя ссылка
но все написано красиво
CODE (html):
скопировать код в буфер обмена
  1. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  2.                 <tr>
  3.                                 <td id="menu"><a id="1" href="javascript:void(0);">Link 1</a></td>
  4.                                 <td id="menu"><a id="2" href="javascript:void(0);">Link 2</a></td>
  5.                                 <td id="menu"><a id="3" href="javascript:void(0);">Link 3</a></td>
  6.                 </tr>                
  7. </table>


CODE (javascript):
скопировать код в буфер обмена
  1. $('td#menu a').click(function (){ //в первых скобках пишешь путь к блоку для которого должно выполняться это событие, 'td#menu а' - определяем что мы выполняем событие только при нажатии на ссылки, родителем которых является TD с айдишником MENU
  2. var id_elem = $(this).attr('id'); //определяешь ID элемента который был нажат
  3. var data = $(this).html(); //к примеру берем текст ссылки, можно взять любые данные
  4. $.ajax({
  5.                         type: "POST", //метод отправки, лучше использовать именно его для Ajax запросов
  6.                         url: "/some.php", //ссылка на файл, который будет обрабатывать данные
  7.                         data: "id=" + id_elem + "&data=" + data, //данные которые отправляются
  8.                         success: function(result)
  9.                         {
  10.  
  11.                               alert(result);//тут ты пишешь часть скрипта которая будет выполняться если данные были переданы и файл их обработал, result - в этой переменной будет хранится все что вернет тебе ПХП файл или при помощи return или при помощи любых функций отвечающих за печать, т.е. любой вывод(echo print и т.д.)          
  12.  
  13.                         },
  14.                         error: function()
  15.                         {
  16.  
  17.                               alert('Problem whith POST!');//тут ты пишешь часть скрипта которая будет выполняться есть по каким-нибудь причинам запрос не был отправлен  
  18.  
  19.                         }
  20.  
  21.                 });
  22. });


some.php
PHP:
скопировать код в буфер обмена
  1. if(!empty($_POST['id']) && !empty($_POST['data']))
  2. {
  3. echo 'Script resiev '.$_POST['id'].' whith text: "'.$_POST['data'].'"';
  4. }
  5. else
  6. {
  7. echo 'Post was empty!';
  8. }

(Отредактировано автором: 24 Марта, 2011 - 15:33:14)



-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Viper
Отправлено: 24 Марта, 2011 - 15:25:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




LEONeso в вашем приемер ответ от сервера вы получаете в формате json после eval обращаетесь к нему как к обычному массиву(оно у вас в переменной rst)
т.е. от сервера получаем строку вида
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"id":"val","id1":"val1"}

после преобразований обращаемся к элементам как
rst.id и т.д.

да и вместо этого
используйте


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
LEONeso
Отправлено: 24 Марта, 2011 - 15:31:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


Помог: 1 раз(а)




Viper, я записывал оба примера в index.php при нажатии по ссылке, результата ноль. Хочу сделать модальное окно, которое бы открывалось и в неё инклайдилась работа php скрипта.


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
vsll
Отправлено: 24 Марта, 2011 - 15:34:12
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




Вот здесь неплохо написано про prototype
http://blog[dot]joshschumacher[dot]com/2[dot][dot][dot]type-js-and-php/
и на русском документация
http://prototype-js[dot]net/
 
 Top
LEONeso
Отправлено: 24 Марта, 2011 - 15:54:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


Помог: 1 раз(а)




Vasiliya, есть смысл прописывать 2 библиотеки, а потом еще десяток при использовании разных примеров из разных библиотек?

Я просто показал, что я нашел, конечно желателен пример работающий с помощью jQuery т.к. библиотека популярная.

Второй вариант вывода результата работы php скрипта, вроде бы работает с jQuery, но я до сих пор не могу понять, почему он не работает.

Нашел рабочий пример: на jQuery инклайдит php файлы.
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
  5. <script type="text/javascript" src="jquery.js"></script>
  6. </head>
  7.  
  8. <body>
  9.        
  10.         <p>Какую страницу желаете открыть?</p>
  11.         <form>
  12.                 <input id="btn1" type="button" value="Страница 1"> <input id="btn2" type="button" value="Страница 2">
  13.         </form>
  14.         <div id="content"></div>
  15.        
  16.         <script>
  17.                 $(document).ready(function(){
  18.                
  19.                         $('#btn1').click(function(){
  20.                                 $.ajax({
  21.                                         url: "page1.html",
  22.                                         cache: false,
  23.                                         success: function(html){
  24.                                                 $("#content").html(html);
  25.                                         }
  26.                                 });
  27.                         });
  28.                        
  29.                         $('#btn2').click(function(){
  30.                                 $.ajax({
  31.                                         url: "page2.html",
  32.                                         cache: false,
  33.                                         success: function(html){
  34.                                                 $("#content").html(html);
  35.                                         }
  36.                                 });
  37.                         });
  38.                        
  39.                 });
  40.         </script>
  41.        
  42. </body>
  43. </html>


От сюда вытекает вопрос, как передать 2 параметра (2 переменные/2 значения) для php скрипта?

(Отредактировано автором: 24 Марта, 2011 - 16:15:15)



-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Viper
Отправлено: 24 Марта, 2011 - 16:20:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




LEONeso http://api[dot]jquery[dot]com/ajax

есть параметр data
к примеру data: "var1=val1&var2=val2"


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 24 Марта, 2011 - 17:52:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




LEONeso пишет:
Здравствуйте, подскажите, как вывести результат работы php скрипта (из отдельного файла) в действующий файл (index.php) с помощью AJAX ?
Для осуществления решенния предполагаемой задачи, заключающеся в проведении транспортировки информационного поля включающего инакпсулированную форму целевого декларационного элемента, для которого требуется осуществления внедрения в исполняемую клиентскую HTML-страницу, необходимо использование средств предшествующего упрвления и анализа соответственного информационного поля, производимого на повышенном уровне базового элементного трактования, на основании которого впосредствии обеспечивается генерация разделенных объектов на пониженном уровне базового элементного трактования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB