Pull to refresh
  • by relevance
  • by date
  • by rating

Практический AJAX: что делать с закладками

Website development *
Примечание: ниже перевод статьи «Ajax Best Practices: Don't Break Bookmarks», посвященной решениям, позволяющим пользователям корректно добавлять в закладки страницы сайта, сделанного при помощи AJAX-методов. Я постарался дополнить ее по мере сил, опираясь на обсуждение предыдущей статьи из серии.

Статья является второй из серии (здесь первая), посвященной устранению критики, которую сейчас так много адресуют использованию AJAX, и обзорам методов, которые помогут сделать ваш сайт чуточку лучше.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 2.6K
Comments 16

Как запретить браузеру спрашивать о том, постить ли данные еще раз после refresh'а?

Lumber room
Вопрос к знатокам.
Есть страница. Есть форма. Что то вводим, жмём субмит. Данные постяться и открывается новая страница.
Проблема — если нажать рефреш, то броузер спрашивает, постить ли еще раз.
Вопрос — как от этого избавиться? как сделать чтобы просто перезагружалась страница по урлу? (вариант с редиректом известен. как еще?)

П.С. Не нужно советовать НЕ наживать на рефреш. Я клиентам это обьяснить не смог.

П.П.С. Для особо нервных — топик могу удалить после получения ответа.
Total votes 2: ↑1 and ↓1 0
Views 196
Comments 4

Практический AJAX: что делать с кнопкой «назад» в браузерах

Website development *
Translation
Примечание: статья посвящена обзору проблемы неработающей кнопки «назад» в браузере при использовании AJAX-методов для передачи содержания страниц от сервера к клиенту. В статье рассматриваются основные принципы работы AJAX и возможные пути решения заявленной проблемы. Курсивом даны мои комментарии.

Эта статья является первой из ряда материалов (вторая статья посвящена работе с закладками), направленных на устранение части критики, которую адресуют сейчас AJAX, и предоставляющих обзор полезных методов, которые помогут сделать ваши приложения и веб-страницы, использующие технику AJAX, немного лучше.
Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Views 16K
Comments 27

Отправить POST через file_get_contents()

PHP *
Чтобы получить содержимое веб-страницы все с удовольствием используют file_get_contents(), например file_get_contents('http://www.habrahabr.ru/'). Но я уже давно наблюдаю, что, как дело доходит до того, чтобы отправить POST, разработчики используют либо CURL, либо открывают сокеты. Я не считаю, что это плохо или что не надо так делать, просто для решения простых задач можно использовать простые решения.

Я и сам так раньше делал, пока на наткнулся на понятие контекстов потоковых операций в PHP. Контекст позволяет передать дополнительные параметры потоковому обработчику. Для http например, можно сконфигурировать POST-запрос или передать дополнительные заголовки.

file_get_contents() принимает 3 параметром «контекст», который собственно и конфигурирует сам запрос.
Ниже пример такого запроса или RTFM

Читать дальше →
Total votes 97: ↑89 and ↓8 +81
Views 82K
Comments 71

Типы HTTP-запросов и философия REST

Website development *
Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
Читать дальше →
Total votes 84: ↑78 and ↓6 +72
Views 662K
Comments 109

POST из java

Lumber room
Сегодня поделюсь вот таким опытом. Услышав модное слово REST, решили тут же применить этот тренд в проекте. В проекте необходимо было хранить картинки для соответствующих ресурсов. И было выбрано такое соглашение:
  • GET http://localhost/res/image/1001
    — позволяет скачать картинку (файл jpg) для ресурса за номером тысяча один
  • POST http://localhost/res/image/1001
    — принять и сохранить (заменить, если была) картинку
  • DELETE http://localhost/res/image/1001
    — соответственно удалить

Модель, кстати, себя оправдала. Пользуемся по сей день. А вот в процессе разработки возник вопрос как же это чудо попробовать, протестировать. Тем более реализация этой функциональности на клиенте (Flex, btw) ещё не была готова.

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 1K
Comments 10

Редирект после POST запроса

IT Standards *
Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или участвовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.

Но речь не о деньгах, а о правильном редиректе…
Читать дальше →
Total votes 102: ↑86 and ↓16 +70
Views 42K
Comments 79

Защита от повторной обработки POST запроса

Website development *
Навеяно этой темой.

Собственно, речь о том, как я в своих проектах делаю проверку на повторное попадание POST или GET параметров в скрипт. А именно: при генерации формы я добавляю в hidden input определенный уникальный ключ, который записываю в некоторой лог таблице. При отправке запросов в скрипт, он выполняет нужные действия и ставит полученному ключу статус выполненности. Ну и собственно дальше просто — сделать проверку в скрипте, принимающем данные, не использован ли случайно ключ.

Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Views 6.8K
Comments 22

Tracking number. err404 on the russianpost

Lumber room
Наверняка многие начали испытывать проблемы изза недоступной страницы отслеживания почтовых отправлений «Почты России»

страница russianpost.ru/resp_engine.aspx?Path=PORTAL/RU/Home/Postal/TrackingPO

по которой отслеживались почтовые отправления стала недоступной

Поделюсь другой работающей ссылкой.

info.russianpost.ru/servlet/post_item
Total votes 9: ↑7 and ↓2 +5
Views 351
Comments 8

Отправка запросов HTTP POST из PowerShell

PowerShell *
Прочитав топик Цитаты из forismatic.com в консоли (или fortune своими руками) из любопытства захотелось повторить тоже самое на PowerShell. Вот что получилось
function get-random-quote()
{
    $apiUrl = 'http://www.forismatic.com/api/1.0/'
    $client = new-object System.Net.WebClient
    $client.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
    $client.Encoding = [System.Text.Encoding]::UTF8
    [xml]$quote = $client.UploadString($apiUrl, 'method=getQuote&format=xml' )
    $quote.forismatic.quote
}


Ниже пояснения и пример использования
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Views 19K
Comments 0

Приводя в порядок POSTs в ASP.NET MVC

ASP *
Translation
В топике описывается один из профессиональных приёмов разработки ASP.NET MVC приложений, который позволяет значительно сократить количество повторяющегося кода в обработчиках POST действий форм. Несмотря, на то, что я узнал о нём ещё во времена первого издания ASP.NET MVC In Action и первой mvcConf, стиль изложения Jimmy Bogard мне показался очень простым и я решил опубликовать вольный перевод для тех, кто ещё не использует этот подход на практике.

Если вы это не используете, тогда мы идем к вам!
Total votes 12: ↑8 and ↓4 +4
Views 6.5K
Comments 1

Googlebot начал делать POST-запросы через Ajax

Search engines *
Поисковый краулер Google постоянно улучшается, чтобы получить доступ к относительно закрытым частям сайтов. В 2008 году Googlebot начал сабмиттить GET-формы, а нынешним летом — исполнять JavaScript. Сейчас дошло дело и до передачи данных серверу методом POST.

Веб-мастер сайта thumbtack.com демонстрирует примеры таких запросов в логах Apache за сентябрь-октябрь 2011 года.
Читать дальше →
Total votes 53: ↑45 and ↓8 +37
Views 2.7K
Comments 58

POST card или ликбез по диагностике

Computer hardware
Sandbox
Приветствую, дорогие хабровчане!

Не первый год занимаюсь диагностикой и реанимацией десктопов и ноутбуков, преимущественно на дому у клиента. Со временем напрашивается вывод, что с собой необходимо иметь чемодан, а возможно, даже чемоданище с комплектующими для диагностики неисправной железки. Некоторые могут мне возразить — «Можно обходиться и без комплектующих! Опыт позволяет выполнять диагностику и без них!». Это отчасти верно, но стопроцентной точности не дает, это как факт.

Опираться на POST коды спикера? Не всегда можно конкретно определить на что же он ругается. Например, один длинный два коротких сигнала спикера сигнализируют о неисправности видеосистемы, но это не всегда означает неисправность самой видеокарты. Встречаются, например, проблемы с доп. питанием на эту самую видеокарту, а это уже неисправность блока питания.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 82K
Comments 47

WebBrowser, заполнение поля типа file на Delphi

Delphi *
Sandbox
При работе с компонентом WebBrowser часто возникает необходимость заполнять поля форм на сайте. С обычными полями формы никаких проблем нету, для их заполнения существуют стандартные методы, а вот поле с типом file браузер упорно отказывается заполнять. Причина этому — защита пользователей. Если бы браузер позволил свободно подставлять в это поле путь к файлу на компьютере пользователя, тогда с помощью простенького JavaScript встроенного в страницу сайта можно бы было легко увести любой файл.

Но так как программа использующая браузер и так имеет доступ к пользовательским файлам, теоретически, такая защита не должна была бы срабатывать против неё. Но имеем то, что имеем, а потому необходимо искать обходные пути.
Читать дальше →
Total votes 33: ↑22 and ↓11 +11
Views 3.1K
Comments 27

Слишком быстрая загрузка Windows 8

Development for Windows *
«В Windows 8 есть проблема — она загружается слишком быстро. Настолько быстро, что после включения компьютера не остаётся времени, чтобы нажать F2 или F8», — пишет Крис Кларк (Chris Clark), менеджер команды User Experience в Microsoft.

В самом деле, в Microsoft проделали большую работу по оптимизации, так что Windows 8 на компьютере с SSD-диском загружается менее чем за 7 секунд, при этом инициализация BIOS и самотестирование POST завершаются в первые 2-3 секунды. Выбор пути загрузки Windows 8 осуществляется в течение <200 миллисекунд — тут ничего не успеешь нажать.
Читать дальше →
Total votes 122: ↑100 and ↓22 +78
Views 119K
Comments 133

«Охота на тайл» — тайлящаяся текстура за 5 минут на базе фотографии (цикл: Работа с текстурами и изображениями)

Game development *Image processing *
Tutorial


Вступление


Чтобы уравновесить кислотно-щелочной баланс после моей предыдущей, скорей всего неудачной, с точки зрения зрительских симпатий, публикации и чтобы принести ресурсу больше пользы, чем вреда – я публикую новый туториал. В отличие от всех предыдущих уроков он будет короче и будет напоминать по длине вот эту статью. Скажу даже более, он будет ей вторить, словно подпевая вполголоса. Надеюсь нам удастся спеться и вместе мы выдадим слаженный дует. Там речь шла о блендинге тайлов – здесь же речь пойдет о самих тайлах. О создании тайлящейся текстуры на базе любой фотографии. Это базовые знания, еще базовей чем это может быть только изучение интерфейса пакета Photoshop. В случае если мой тенор будет фальшивить — гоните его долой.

Итак, главный вопрос сегодняшней ночи – как сделать качественную тайл-текстуру за 5 минут? Хороший вопрос я думаю, и на него вполне можно потратить 5-10 минут вашего времени. Возможно после этого для ваших собственных прототипов вы будете использовать оригинальные тайлы, созданные вашими руками, не тратя времени на поиск художника или текстурщика, который смог бы вам помочь. Заманчиво?

Первым делом находим удовлетворяющую вас фотографию из тех, что не имеет копирайта (как правило на полях или по центру изображения). Внимательно следите за этим, потому что игровая индустрия богата курьезными ситуациями и эта далеко не последняя из могущих произойти с вами. Хотя. Что может быть веселее забыть в пред-релизной версии текстурной даты текстуру от игры Unreal Tournament? И такое случалось. Правда я не видел на лицах людей улыбок и не слышал их радостного смеха.

Приступим. 5 минут. Все по честному. Ваш процесс обучения займет немногим больше. Вы получите из фотографии слева — тайловую текстуру справа. Уже классически все это будет подано с соусом из юмора и маленькими мини-индустриальными-историями.


Читать дальше →
Total votes 107: ↑95 and ↓12 +83
Views 40K
Comments 62

After Reset — игра в которую сложно поверить даже увидев (Kickstarter Campaign)

Game development *Unity3D *


Страница проекта на Кикстартер — (Kickstarter link page)
Страничка проекта на Фейсбуке — (Facebook game page)
Официальный сайт разработчика After Reset Official web-site
Гейм-плейное видео на Youtube Video-link
Эксклюзивное видео снятое специально для Хабра на Vimeo Video-link

Так уж получается, что под Новый Год разработчики начали выбрасывать на Кикстартер проекты один краше другого. Если честно – не знаешь, о каком из них писать первым. Их действительно много, и многие из них достойны огласки. Сегодня мне хочется остановить наше внимание на проекте After Reset. Также мне подумалось, что будет хорошей практикой брать интервью у разработчика, по возможности с эксклюзивными материалами. Все-таки Хабр, крупнейший российский IT-ресурс, как тут обойтись без редких артефактов?



Если кратенько, — это еще один проект, претендующий на пьедестал нашего любимого пустынного изометрического друга с блек-джеком и сами знаете кем. Претензия серьезна столь, что впору усомниться. И я усомнился. И не стесняюсь этого. Сомневаюсь, кстати, даже после того как ознакомился с редкими публикациями в сети, видео и даже погонямши билд для прессы (именно с этой версии и сняты скриншоты). Выглядит блюдо отменно. Особенно на фоне Пустынного Гамбургера. Откуда же сомненья?

Не агитируя и не давя, — предлагаю пойти обычным путем. Вооружившись лопатками, изучить вопрос более детально. Почитать о проекте, прочитать интервью с разработчиком, отсмотреть эксклюзивные скриншоты, просмотреть видео и решить самостоятельно. Верить или нет.


Читать дальше →
Total votes 164: ↑106 and ↓58 +48
Views 111K
Comments 193

Обработка POST запросов AngularJs в Symfony2

PHP *Symfony *Angular *
Translation
Tutorial
Примечание
Давненько уже читал пост на хабре, о сабже в контексте php, и все руки не доходили на Symfony2 привести это в какой-то красивый вид, а тут в недавнем дайджесте наткнулся на простое решение, которое здесь и представлено.


Использование Symfony2 и AngularJs в связке является хорошей идеей, но есть одна проблема — решение из коробки обладает проблемой в коммуникации. В этом посте будет рассказано о том, как автоматически декодировать JSON-запросы и использовать полученные данные при помощи Request Symfony используя библиотеку symfony-json-request-transformer (на самом деле всего-то один класс).
Мокрая киска под катом
Total votes 21: ↑17 and ↓4 +13
Views 16K
Comments 14

Работа с сервлетами для чайников. GET / POST

Programming *Java *
Tutorial


В прошлой статье Создание сервлетов для чайников. Пошаговое руководство я описал, как создать сервлеты и попытался объяснить, как это работает. В этой статье мы научим наши сервлеты работать с UI через HTTP-запросы GET и POST.

На самом деле, этих запросов намного больше, но для чистоты эксперимента мы разберём только два основных.

  • GET — обрабатывает адресную строку, которая получается при вызове сервлета. Например, site.com/example?action=test&id=10&admin=true
  • POST — обрабатывает загруженный контент (картинку, файл, строки, объектные данные), в общем, всё, что можно передать через HTTP

В Java-сервлете запросы POST и GET обрабатывают соответствующие методы doPost(); и doGet().
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Views 72K
Comments 6
1