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 :: Fat-Free, javascript и load()

 PHP.SU

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


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

> Описание: поиск нужного метода отправки данных
nick
Отправлено: 11 Января, 2013 - 19:58:48
Post Id



Новичок


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


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




Долго думал, куда бы запихнуть вопрос: в javascript или в ООП.
Но, так как скрипт есть, а он не работает: решил сюда.
Есть такой фреймворк fat-free, у него неплохой роутер, но есть одна проблема, при передаче POSTа.
Обычно, чтобы отправить POST и перезагрузить слой, я делал:
CODE (javascript):
скопировать код в буфер обмена
  1. $('#layer_to').load('/file.php #layer_from', {data: blablabla})


Все бы ничего, но, обезжиреный посчитал, что это это GET запрос в неизвестно куда (и REQUEST его тоже не видит Не понял оно и понятно почему, маршрута такого не существует и прописать его никак не получится Хм ).
Соответственно, если сделать подгрузку всей страницы в слой (
CODE (javascript):
скопировать код в буфер обмена
  1. $('#layer_to').load('/file', {data: blablabla})
) то в нужный мне слой все приходит и там мой пост уже обработанный Радость

Нация! Хочу спросить совету у людей добрых: как еще перезагрузить слой без перезагрузки страницы с отправкой поста?
Только не предлагайте $.post - это не то. Отправка данных не есть проблема =)
ПС: может есть какой то нормальный способ поймать #div из data после $.post..

(Отредактировано автором: 11 Января, 2013 - 20:04:53)

 
 Top
Denkill
Отправлено: 12 Января, 2013 - 11:27:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


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




Слышал об AJAX. Изменение "кусков" страницы без перезагрузки.


-----
Хо-Хо-Хо
 
 Top
nick
Отправлено: 12 Января, 2013 - 13:15:22
Post Id



Новичок


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


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




Слышал Радость а как из data получить нужный #div не слышал Ха-ха
 
 Top
LIME
Отправлено: 12 Января, 2013 - 13:23:06
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Цитата:
/file.php #layer_from
это что за адрес?
(Добавление)
Denkill пишет:
Слышал об AJAX. Изменение "кусков" страницы без перезагрузки.
а это что по твоему?
nick пишет:
$('#layer_to').load

(Добавление)
может так? /file.php?layer_from
 
 Top
esterio
Отправлено: 12 Января, 2013 - 13:52:36
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




LIME пишет:
/file.php #layer_from

Здесь все верно, Jquery запросит страницу /file.php и отуда вытащит тег з id=layer_from
но мето load делает GET запрос, если нужно POST то тогда $.post и затем сделать
CODE (javascript):
скопировать код в буфер обмена
  1. $('#layer_from').html($(data).find('#layer_from'))

как-то так
 
 Top
nick
Отправлено: 12 Января, 2013 - 14:00:17
Post Id



Новичок


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


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




esterio
ты меня выручил, это я и хотел узнать.
LIME, сходи лучше api дочитай))

(Отредактировано автором: 12 Января, 2013 - 14:01:31)

 
 Top
LIME
Отправлено: 12 Января, 2013 - 14:03:20
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




nick я его еще не читал толком
я бы отдавал с сервера только необходимый контент
(Добавление)
esterio
Цитата:
The POST method is used if data is provided as an object; otherwise, GET is assumed.
кому надо API читать?
 
 Top
esterio
Отправлено: 12 Января, 2013 - 14:36:05
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




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

Вот здесь написано прямо с примером
http://api[dot]jquery[dot]com/jQuery[dot]post/

Цитата:
CODE (javascript):
скопировать код в буфер обмена
  1. $.post('ajax/test.html', function(data) {
  2.   $('.result').html(data);
  3. });


Цитата:
The success callback function is passed the returned data, which will be an XML root element or a text string depending on the MIME type of the response. It is also passed the text status of the response.

(Отредактировано автором: 12 Января, 2013 - 14:40:23)

 
 Top
nick
Отправлено: 12 Января, 2013 - 14:57:40
Post Id



Новичок


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


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




Давайте не будем кусаться Однако
Я думал:
1. Что find не ищет в data.
2. Что find очень медленный и есть способ лучше и быстрее.
3. Совсем вылетело из головы find Ха-ха
 
 Top
LIME
Отправлено: 12 Января, 2013 - 15:16:21
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




esterio я о .load http://api[dot]jquery[dot]com/load/
LIME пишет:
кому надо API читать?
это не тебе
nick а тебе
и еще раз тебе
LIME пишет:
я бы отдавал с сервера только необходимый контент
 
 Top
esterio
Отправлено: 12 Января, 2013 - 15:19:09
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




nick пишет:
Давайте не будем кусаться

А никто и не кусаится. Думаю проблема решена.
Я тоже б отдавал контент только тот который нужно и сделаль бы обертку над $,ajax. Почему метод ajax - да потому что он дает больше контроля
 
 Top
LIME
Отправлено: 12 Января, 2013 - 15:20:04
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




esterio пишет:
но метод load делает GET запрос
я об этом
(Добавление)
esterio пишет:
потому что он дает больше контроля
а если контроль не нужен?
я часто пользуюсь .load
а если что есть deferred
 
 Top
nick
Отправлено: 12 Января, 2013 - 15:30:13
Post Id



Новичок


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


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




Я тоже ОЧЕНЬ часто пользуюсь load, но у фреймворка так не прокатит.
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3.         <head>
  4.                 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>        
  5.         </head>
  6.  
  7.         <body> 
  8.         <script>
  9.                         $(document).ready(function() {
  10.                                 $("#link").live("click", function(){
  11.                                 event.preventDefault();                                                
  12.                                         $.post("index.php", { username: "John", useremail: "test@test.ru" },
  13.                                           function(data) {
  14.                                                 var content = $(data).find('#load');
  15.                                                 $( "#ajax" ).empty().append( content );
  16.                                           });
  17.                                 });
  18.                         });
  19.                 </script>
  20.         <div id="ajax">
  21.                 <div id="load">
  22.                         <pre>
  23.                         <?
  24.                                 print_r($_POST);
  25.                         ?>
  26.                         </pre>
  27.                 </div>
  28.         </div>
  29.        
  30.         <a href="#" id="link">get POST</a>
  31.        
  32.         </body>
  33.        
  34. </html>

(Отредактировано автором: 12 Января, 2013 - 16:27:22)

 
 Top
LIME
Отправлено: 12 Января, 2013 - 15:32:26
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




ппц какойто
 
 Top
esterio
Отправлено: 12 Января, 2013 - 15:46:18
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




LIME
О вкусах не спорят. Я никогда не пользуюсь load
А код ТП очен похож на тему з russeler или как там не помню.
Идея хорошая но там реализация описана плохо(счасте хоть и сайт Попова не он писал даную статью).
Там фишкабыла в том что изначально сайт не на aja, при загрузке документа происходит парсинг всех ссилок и подмена обработчика как раз через метод load. Вот так то. Но проблема что якорь там не бросался и если я перейду по example.com/about то в строке адреса будет все ровно example.com нк и еще много нюансов
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB