Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2010, 13:46
Новичок на форуме
Отправить личное сообщение для Роман Н. Посмотреть профиль Найти все сообщения от Роман Н.
 
Регистрация: 04.11.2010
Сообщений: 4

Функция которая возвращает Ajax результат через return
Возможно ли (исхитриться и) сделать такую функцию, которая будет возвращать результат, например get-запроса, (как-бы) через return...

Поясню на примере, написал я маленькую библиотечку (для пользовательских скриптов OPERA) - ajax функция (на транспорте тег 'script'), которая возвращает результат (html код любой страницы) через калбак, используя оперовский "beforescript":

ajax (url, 'калбак');


если ее использовать многократно, то плодятся эти калбак-функции, и отлаживать, бегая по коду объекта, не очень удобно...

можно ли сделать что-нибудь подобное кроссдоменной php-функции file_get_contents
content = ajax(url);

Последний раз редактировалось Роман Н., 05.11.2010 в 13:59.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2010, 13:56
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

можно
AJAX бывает синхронным и асинхронным.
вам нужен первый
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2010, 15:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,582

Т.к. content - глобальная переменная(иначе смысла не вижу), то можно ее так:
ajax(url, 'content');

передать, а внутри при приходе ответа выцепить как window[второй параметр].
Если переменная - объект, то просто передать(по ссылке передастся).

Последний раз редактировалось micscr, 04.11.2010 в 15:27.
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2010, 15:45
Новичок на форуме
Отправить личное сообщение для Роман Н. Посмотреть профиль Найти все сообщения от Роман Н.
 
Регистрация: 04.11.2010
Сообщений: 4

это-то понятно, но все равно - дополнительный обработчик нужен на каждый
ajax (url, 'content');
- это подходит если он один...

допустим, в одном скрипте нужно выполнить 10 разных (по логике) get-запросов, тогда и калбак функций получается 10, в них продолжается логика...

и получается, что из-за ajax запросов, одна функция (метод) разделяется на две (первая - до запроса, вторая - после получения ответа)... и этот разброс делает код "прыгающим"... даже в JQuery так напрмер,
get(url, 'callback');
function callback(result){ // продолажем работу }


я и спрашиваю, существуют ли в javascript такие хитрости, которые позволят "второй поток вернуть в первый" т.е. "результат калбак вернуть в return вызванивающей функции" ?

Последний раз редактировалось Роман Н., 04.11.2010 в 16:08.
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2010, 16:04
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,582

В jQuery есть аяксовый load, можешь глянуть внутри. Но это, как я говорил - через объект.
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2010, 16:15
Новичок на форуме
Отправить личное сообщение для Роман Н. Посмотреть профиль Найти все сообщения от Роман Н.
 
Регистрация: 04.11.2010
Сообщений: 4

спасибо...
тут тоже калбак
load(url, data, callback)


я нашел аналог file_get_contents на js: http://phpjs.org/functions/file_get_contents:400

если эта функция действительно возвращает результат запроса через return, то изучу и попробую пересадить ее на транспорт <script>
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2010, 16:22
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,582

Сообщение от Роман Н. Посмотреть сообщение
спасибо...
тут тоже калбак
load(url, data, callback)
он необязательный ... присвоение то выполнится.
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2010, 16:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,582

Сообщение от Роман Н. Посмотреть сообщение
я нашел аналог file_get_contents на js: http://phpjs.org/functions/file_get_contents:400
удачи с этим громадьем . Главное чтобы шкурка выделки стоила.
Ответить с цитированием
  #9 (permalink)  
Старый 05.11.2010, 13:56
Новичок на форуме
Отправить личное сообщение для Роман Н. Посмотреть профиль Найти все сообщения от Роман Н.
 
Регистрация: 04.11.2010
Сообщений: 4

я пока не представляю себе, как можно написать объект подобный синхроннуму XMLHttpRequest, только на транспорте <script>, чтобы он работал не вешая процессор...

нужен гипотетический код синхронного XMLHttpRequest для разбора
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55
Послать форму загруженную через ajax в div используя ajax ncux jQuery 2 16.08.2010 17:36
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
Функция не возвращает false, почему? Vitaly jQuery 3 05.07.2009 16:05
Неверный результат в AJAX с получением HTML Raynor AJAX и COMET 3 17.12.2008 18:38