2012-05-22 3 views
4

Я видел несколько вопросов по теме, но все они добрые старые.Django AJAX. Даякс все еще хорошо или лучше переходить на jQuery сразу (2012 возрождение)?

Я только что реализовал свою первую среду dajaxice (развивающ используя хром) но я все еще получает случайно «что-то идет неправильно» с Firefox IE. Время от времени также с Chrome.

Я не могу четко определить событие, также потому, что не очень объяснительное сообщение: «что-то не так». Я попытался воспроизвести его, но безуспешно.

Итак, dajax/dajaxice все еще действует? Или мне лучше сосредоточиться на jQuery?

Существуют ли действительно проблемы с неявным браузером? (среда независимая .. может быть)

Какая поддержка браузеров для обоих случаев?

+1

Журнал журнала dajax выглядит как бы тихий. Вы можете взглянуть на [jquery-taconite] (http://jquery.malsup.com/taconite/). Он может не дать вам все, что вы хотите, но он невероятно прост в использовании - просто [Fire and Forget] (http://en.wikipedia.org/wiki/Fire-and-forget). –

+0

По-видимому, часть моей проблемы - CSRF в dajax см. Https://github.com/jorgebastida/django-dajaxice/issues/30 – mariotti

ответ

6

Ваш лучший выбор - использовать django-tastypie + backbone-tastypie. django-tastypie предоставляет REST API доступ к вашим моделям и данным Django, в то время как основой является клиентская среда javascript, которая упрощает взаимодействие с бэкэндом tastypie.

Недостатком этого является то, что существует тяжелая кривая обучения.

Более подробная информация здесь: http://readthedocs.org/docs/django-tastypie/en/latest/tools.html?highlight=backbone

У меня projcet используя dajaxice в производстве в настоящее время, и он получает значительный трафик пользователя. Недостатком использования Dajaxice является то, что он не поддерживался через некоторое время. Существует немало ошибок (включая проблемы с производительностью), которые затрудняют использование в любой производственной системе, которая получает реальный трафик. В моем случае, я вижу, что даже самые простые представления dajaxice добавляют тяжелое ограничение производительности в 1000 мс (1 секунду) практически для любого кода, который я пишу.

ПРИМЕЧАНИЕ: Я отправил письмо по электронной почте сопровождающему dajaxice, и он сказал мне, что он планирует обновить dajaxice в конце этого года, когда он получит больше свободного времени. Надеюсь, это так.

Потенциал использования dajaxice заключается в том, что кривая обучения низкая, и это помогает держать ваш код четко организованным (например: вы помещаете все свои ajax в ajax.py, и вам не нужно писать много дополнительного кода JS).

Моя официальная рекомендация:

  • Использование Dajaxice если это простое приложение, которое не будет видеть значительный трафик и производительность на самом деле не имеет значения.
  • Используйте django-tastypie + backbone-tastypie, если вы разрабатываете серьезное приложение и нуждаетесь в чем-то надежном.
+0

Hoi @rdegges, я не уверен, что мы говорим об одном и том же. Мне не нужно представлять мои данные каким-то образом. Мне нужно представить часть данных на основе взаимодействия с пользователем. Возможно, я ошибаюсь, расскажи мне. Но, используя tastypie, мне нужно настроить «resouce» при каждом взаимодействии с пользователем. Я думаю, что это слишком дорого. – mariotti

+0

Часть, которую я сейчас (с ошибками) работает с картами Google и реагирует на события масштабирования. То есть: пользователь увеличивает и уменьшает масштаб, я возвращаю то, что в пределах увеличения. Это работает ... любопытно. кроме фактического вопроса. В настоящее время с dajaxice, но не без проблем .. – mariotti