powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / <img src="ну и че дальше-то???"
25 сообщений из 38, страница 1 из 2
<img src="ну и че дальше-то???"
    #36305256
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Учу javascript(и вообще веб-программирование) по книжке.
Стиснул зубы и сказал себе - не перехожу к следующей главе, пока не освою предыдущую(это я к тому, что не надо мне про эджекс с реквестами).
Не важно - используется ли сегодня описанный прием или нет.
Застрял на такой проблеме:
Есть страница с RPC-запросом, который осуществляется при помощи image:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
где то в коде:
var img = new Image();
img.src = "http://myServak.com/foo?name=" + document.frm.username.value;


где то в боди:
<form id=frm... ну дальше понятно, надеюсь.

И все так чудово отрабатывает, ломимся на сервер, в action(который в данном случае - foo - и чего то там делаем)

Если возьмем некий апокрифический серверный язык, то например:

Код: plaintext
1.
2.
3.
4.
definition foo
    user = params["name"] - парсим строку запроса.
    user.save - сохраняем в базе
end
Я специально не зацикливаюсь на определенном языке - так как разницы не вижу.

До этого момента - все хорошо.
А вот дальше в моей умной книжке написано:
умная книжка
С помощью объекта image программный код javascript может выдать запрос серверу о том, доступен например конкретный пользователь или нет, и скажем в случае доступности - возвратить изображение высотой в 1 пиксель, в случае недоступности в 2 пикселя.


И вот тут наступает у меня ступор. Как сорец может от сервера получить строку сорца картинки, если указан вышеозначеный адрес:"http://myServak.com/foo?name=" + document.frm.username.value;
Чего мне такое на сервере надо написать, дабы в img.src заимелся адрес к картинке, скажем высотой в этот конченый пиксель - ну не понимаю.
Редайрект какой сделать к странице с картинкой - не получается.
Есть подозрение - что не понимаю чего - то очень простого :(
Подскажите пжалса(если можно - кодом - пофигу на каком серверном языке - лишь бы суть была ясна)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305288
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю, еще сильней надо абстрагироваться:
Забудем про юзеров и их доступность:
Есть строка кода:
Код: plaintext
1.
img.src = "http://myServak.com/foo?name=vasia"
При выролнении этой операции автоматически на сервере отрабатывает foo, там я могу обработать параметр name и в зависимости от результатов этой обработки - вернуть адрес к определенной картинке(согласно книжке моей). ТО - есть будет в результате:
Код: plaintext
img.src = "http://myServak.com/images/foo.jpg" - но каким образом - вот что не понимаю :((
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305308
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чур меня...,

Ничё не поня.
Вы в этом самом фу (если он на серверном языке написан) и картинку можете сформировать и сохранить её. Т.е., всё, что угодно (это своеобразный аякс, между прочим). А чего Вам надо - не понял нифига, извините уж.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305315
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeчур меня...,

Ничё не поня.
Вы в этом самом фу (если он на серверном языке написан) и картинку можете сформировать и сохранить её. Т.е., всё, что угодно (это своеобразный аякс, между прочим). А чего Вам надо - не понял нифига, извините уж.

Вот мое фу:

...
if name=vasia
че - то там
else
че - то другое

По фигу что - сейчас не важно.

Вопрос: есть строка жабоскрипта:
Код: plaintext
1.
img.src = "http://myServak.com/foo?name=vasia"
В книжке написано, что в результате неких действий на сервере(в фу - в данном случае) -можно поиметь:
Код: plaintext
img.src = "http://myServak.com/images/foo.jpg"
То есть сорец будет к картинке в результате, хотя изначальный запрос был к фу.
Андерстенд ор нот андерстенд?
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305421
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чур меня...
В книжке написано, что в результате неких действий на сервере(в фу - в данном случае) -можно поиметь:
Код: plaintext
1.
mg.src ="http://myServak.com/images/foo.jpg"
То есть сорец будет к картинке в результате, хотя изначальный запрос был к фу.

Приведите 1:1 кусок из букваря, сподвигнувший Вас к выше описанному умозаключению. Потому как, рискну предположить, что в букваре подразумевалось а-ля:
Код: plaintext
1.
2.
3.
4.
Response.Clear();
Response.ContentType="image/jpeg";
oImage.Save(Response.OutputStream,iFormat);
Response.Flush();
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305428
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft,

А с чего вы взяли, что это - аспнет?
Я вот - не въехал.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305432
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там ещё Response.End() нужен, вообще-то.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305484
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
А с чего вы взяли, что это - аспнет?

чур меня...
Подскажите пжалса(если можно - кодом - пофигу на каком серверном языке - лишь бы суть была ясна)

У меня в заначке
Код: plaintext
1.
2.
3.
4.
ob_clean();
header("Content-type: image/jpeg");
echo(mysql_result($result, 0 ));
exit();
завалялось, но в ней, IMHO, не все так очевидно...
ShSerge
Там ещё Response.End() нужен, вообще-то.

Дык... Кто ж спорит-то?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305492
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чур меня...А вот дальше в моей умной книжке написано:
умная книжка
С помощью объекта image программный код javascript может выдать запрос серверу о том, доступен например конкретный пользователь или нет, и скажем в случае доступности - возвратить изображение высотой в 1 пиксель, в случае недоступности в 2 пикселя .
Да, потрясающий способ!
Наверно, ещё никто не додумывался возвращать логческое значение в таком виде

Автору:
Имхо, проще заюзать специально предназначенный для таких целей XMLHttpRequest (или, если другой домен, JSONP - подгрузку скрипта с вызовом функции). И просто вернуть строку 0 или 1. Задавать логическое значение 1 или 2 пиксельной картинкой - это уже за гранью добра и зла
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305500
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде классическая ситуация, когда некая программа получает какие то данные, обрабатывает их, и выдаёт результат. Какая разница, _что_ будет представлять собой результат - текст, картинка, счёт-фактура в формате *.doc, видеоролик или лаконичный ответ "200 OK"? Главное, чтоб было получено и правильно распознано именно то что ожидается.

Яростный Меч,
Угу. Что там один-два пиксела - фигня какая то. В пределах глупости можно пойти далеко, формируя полновесную картинку-пиктограмму "юзер [не]доступен" :-)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305504
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleУгу. Что там один-два пиксела - фигня какая то. В пределах глупости можно пойти далеко, формируя полновесную картинку-пиктограмму "юзер [не]доступен" :-)Желательно в виде капчи. :)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36305606
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft
чур меня...
В книжке написано, что в результате неких действий на сервере(в фу - в данном случае) -можно поиметь:
Код: plaintext
1.
mg.src ="http://myServak.com/images/foo.jpg"
То есть сорец будет к картинке в результате, хотя изначальный запрос был к фу.

Приведите 1:1 кусок из букваря, сподвигнувший Вас к выше описанному умозаключению. Потому как, рискну предположить, что в букваре подразумевалось а-ля:
Код: plaintext
1.
2.
3.
4.
Response.Clear();
Response.ContentType="image/jpeg";
oImage.Save(Response.OutputStream,iFormat);
Response.Flush();
_________________
"Helo, word!" - 17 errors 56 warnings


В букваре не было серверного кода, там только голимые буквы, приведеные мной выше:
вышеС помощью объекта image программный код javascript может выдать запрос серверу о том, доступен например конкретный пользователь или нет, и скажем в случае доступности - возвратить изображение высотой в 1 пиксель, в случае недоступности в 2 пикселя.
и пример клиентского кода:

Код: plaintext
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.
<script type="text/javascript">
  
    var commandUrl="http://demos.javascriptref.com/isuseronline.php?"; 
    var timer=null;
    function sendRPC(url, callback)
    {
        if(currentRequest)
            clearTimeout(timer);
            
        currentRequest=new Image();
        currentRequest.src=url;
        setTimeout(callback,  50 );
    }
    
    function readResponse()
    {
        if(!currentRequest.complete){
            timer=setTimeout(readResponse,  50 );
            return;
        }
        
        if(currentRequest.height== 1 )
            alert("юзер не доступен");
        else
            alert("юзер доступен");
            
        timer=currentRequest=null;
        
    }
    
    function isUserOnline(user)
    {
        var params="user="+user;
        sendRPC(commandUrl+params, readResponse);
        return false;
    }
</script>
<a href="#" onclick="return isUserOnline('deagol');">check</a>

Яростный Меч,
я ж в первом посте просил - не надо мне про реквесты умняки кидать - это в следующей главе :))
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36306049
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я вас правильно, то объяснение таково.

Для начала некоторые основы HTTP протокола. При открытии странички в браузере, ваш браузер посылает HTTP-запрос серверу типа "получить такую-то страничку с такого-то домена, смогу её обработать так-то и так-то". Сервер же после этого иметь огромную широту действий:
1. он может просто ответить контентом, расположенным по запрошенному адресу,
1а. контент по расположенному адресу может генерироваться динамически и, например, если в name указано vasia вернуть страничку из слов "Вася Пупкин", а если petya - "Петр Второй",
2. сервер может указать броузеру, что контент следует искать по другому адресу, при получении такого указания броузер автоматически и прозрачно для вас делает новый запрос по новому адресу и там история повторяется и так пока не будет наконец возвращен контент.

Теперь вернемся к вашим баранам (картинке).
При запрос .../foo?name=vasia сервер может возвратить
1. саму картинку (вместо "Вася Пупкин" из первого абзаца браузер получит байты картинки)
1а. причем в зависимости от параметра name сервер может возвратить браузеру, например, байты картинки /images/vasia.jpg или /images/petya.jpg - но браузер не будет знать, что ему вощвращена картинка из /images/... - ему просто при разных name будут возвращаться разные байты,
2. сервер может указать браузеру, чтобы тот искал картинку по адресу /images/vasia.jpg - браузер автоматически и прозрачно для вас сделает запрос по этому адресу и выведет картинку оттуда.

Реализуется это примерно так (на PHP):
1.
Код: plaintext
1.
2.
<?php
header ('Content-Type: image/jpeg');
exit (file_get_contents ('/images/vasia.jpg'));
1а.
Код: plaintext
1.
2.
<?php
header ('Content-Type: image/jpeg');
exit (file_get_contents ('/images/' . $_GET['name'] . '.jpg'));
2.
Код: plaintext
1.
2.
<?php
header ('Location: /images/' . $_GET['name'] . '.jpg');
exit ();
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36307692
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
an0nym,

Спасибище вам, Человечище :)
За ваш ответ, который - то мне и был нужен.
Как я и предполагал, меня вгоняло в ступор незнание( и как следствие - непонимание) элементарных вещей(в данном случае http).


Код: plaintext
1.
2.
3.
<?php
header ('Location: /images/' . $_GET['name'] . '.jpg');
exit ();

Ваш пример почти без изменений прошел в данном случае :)

Код: plaintext
1.
2.
3.
def get_image
    redirect_to "/images/" + params[:name] + ".jpg"
end

И о чудо - получил желаемый результат.


Ну ничего - помаленьку освоюсь с етим коварным вебом :)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308789
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
буду дальше постить разные туманные моменты из моей умной книжки.

Книжка
Фундаментальным носителем, обеспечивающим доступ к извлекаемому сервером содержимому, являются сценарии с внешними связями.


Пишем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Клиент:

var commandUrl="/testing/hello?";

function send_rpc(name){
    var newScript=document.createElement('script');
    newScript.src=commandUrl+"name="+name;
    newScript.type="text/javascript";
    document.body.appendChild(newScript);
}

Код: plaintext
1.
2.
3.
4.
5.
Сервер:

def hello
    render :text => "alert('"+params[:name]+"! Hello from server!');"
end


вопрос: Это тоже криво и через ж***, как и в предыдущем примере?
Или это уже общепринятая практика?
Если это плохо - то почему?

Один минус я вижу - слишком сильная контекстная зависимость сервера и клиента.


Респонсы в следующей главе :)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308833
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чур меня...вопрос: Это тоже криво и через ж***, как и в предыдущем примере?Это называется JSONP. Вполне нормальнйы способ. Распространенная практика, если клиент и сервер на разных доменах.
Чтобы не было слишком сильной зависимости, ещё одним параметром передают имя вызываемой функции. Тогда получается вполне гибко и универсально:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Клиент:

var commandUrl="/testing/hello?";

function send_rpc(name){
    var newScript=document.createElement('script');
    newScript.src=commandUrl+"name="+encodeURIComponent(name) + "&func=myfunc";
    newScript.type="text/javascript";
    document.body.appendChild(newScript);
}
function myfunc(data){
    ...
    // здесь обработка полученных данных
}

Код: plaintext
1.
2.
3.
4.
Сервер:

def hello
    render :text => params[:func]+"('"+params[:name]+"! Hello from server!');"
end
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308848
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BTW,
чур меня...
моей умной книжки

Букварик-то - озвучьте...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308850
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч
Код: plaintext
1.
    document.body.appendChild(newScript);

И дучше не в боди, а в какой-то "левый" див, который надо чистить перед этой операцией.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308889
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЯростный Меч
Код: plaintext
1.
    document.body.appendChild(newScript);

И дучше не в боди, а в какой-то "левый" див, который надо чистить перед этой операцией.А если вызов JSONP идет из обработчика другого вызова JSONP? Не получится ли так, что очистка "удалит код, который в данный момент выполняется"? Что бывает в таком случае?
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36308968
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный МечJSONP

Спасибо, в книжке этого термина вроде не встречал, в вики сейчас почитаю...

Ex_SoftБукварик-то - озвучьте...
Оч хорошая книга - по моему.
Вода конечно есть, не без того.
Но видно - авторы потрудились, а не чтоб бабла по легкому срубить - типа - "освойте жабоскрипт за 7 часов" :))
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36317091
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Книжку дочитал :)
И пошел jquery смотреть, так как самый популярный фреймворк - везде пишут.
Вот вопрос возник:
Мне по некоторым причинам удобней было бы использовать prototype&effects, а не jquery.
Вот, те, кто использовал и то и другое - им вопрос: взаимозаменяемы - ли они, или все таки в prototype&effects меньше возможностей, чем в jquery?
Потому, как, если одинаковые возможности - то я бы предпочёл prototype&effects использовать.

На буржуйских форумах немного почитал - так вроде взаимозаменяемы - сложилось впечатление. Но дай, думаю - тут еще спрошу :)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36319322
jQuery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чур меня...
Вот, те, кто использовал и то и другое - им вопрос: взаимозаменяемы - ли они, или все таки в prototype&effects меньше возможностей, чем в jquery?

используйте оба
"взаимозаменяемость" никто не измерял.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36321040
чур меня...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jQuery
"взаимозаменяемость" никто не измерял.

За всех не надо говорить :)
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36321057
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чур меня......Учу javascript...
Если бы Вы написали: "Учу прототип" или "Учу jQuery" - тогда понятно. Дык, а что Вы учите?
Кстати, и то, и другое, подразумевают знание яваскрипт, DOM и HTML.
...
Рейтинг: 0 / 0
<img src="ну и че дальше-то???"
    #36321082
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeчур меня......Учу javascript...
Если бы Вы написали: "Учу прототип" или "Учу jQuery" - тогда понятно. Дык, а что Вы учите?
Кстати, и то, и другое, подразумевают знание яваскрипт, DOM и HTML. Вот человек всё это и учит
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / <img src="ну и че дальше-то???"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]