Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 24, 2010 13:09:21

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

В общем ситуация следующая. При вставлении урла в метод load ничего не происходит.
Если вставить тот же урл в пример http://ajaxdaddy.com/demo-dynamic-content.html в часть:

function getAjaxFile()
{
ajax.requestFile = 'http://localhost:8000/My_project/upload/panorama'; // Specifying which file to get
ajax.onCompletion = showContent; // Specify function that will be executed after file has been found
ajax.onLoading = showWaitMessage; // Action when AJAX is loading the file
ajax.runAJAX(); // Execute AJAX function
}
То происходит попытка поиска, но ниче не находит… и не выводит. Если кто знает как решить проблему, буду признателен. Решение, как предложил Ferroman
с
 $('#panorama_add').click(function () {
$("#contentContainer").load("http://localhost:8000/My_project/upload/panorama/");
});
элегантное и короткое, но не работает - просто мертво, кликаешь и ваше ниче.
Спасибо



Офлайн

#2 Дек. 24, 2010 13:50:30

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ajax

А клик хоть отрабатывается? Может просто не подгружается jquery.
Если запускаешь встроенным сервером, то посмотри в консоли нет ли 404 запросов, - может просто не грузятся ресурсы.

Совет - поставь себе в firefox'е firebug и смотри в Net идут ли запросы, какие они, и есть ли ответы. Заодно он и ошибки в javascript покажет.

Если бибилотека подключена, клик отрабатывается, а запрос не идёт - значит ваш компютер что-то против вас замышляет.

Офлайн

#3 Дек. 24, 2010 15:16:34

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

Ferroman
firebug стоит

Когда кликаешь в “сети” файрбага:

GET panorama
http://localhost:8000/My_project/upload/panorama

404 NOT FOUND

localhost:8000

2 KB
а в побробной:
Date	Fri, 24 Dec 2010 13:11:28 GMT
Server WSGIServer/0.1 Python/2.6.5
Content-Type text/html
Заголовки запросапоказать исходный код
Host localhost:8000
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept text/html, */*; q=0.01
Accept-Language ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
X-Requested-With XMLHttpRequest
Referer http://localhost:8000/My_project/upload/obyava_kupit/ok/ // - т.е. загружаю -> объявление-> купить->ok, перенаправляю на страницу html, на которой отрабатывает jquery
Cookie csrftoken=ef7959067f5462784753790239a4; sessionid=4f281345353463453fgd633g33535a



Офлайн

#4 Дек. 24, 2010 19:22:45

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ajax

Ясно же говорит - нет такого урла.
http://localhost:8000/My_project/upload/panorama

Руками такое открывается? Или всё-таки надо :
http://localhost:8000/upload/panorama

Офлайн

#5 Дек. 25, 2010 16:00:22

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

Ferroman
саасибо!!! Проблемы была в одной сраной букве. У меня не http://localhost:8000/My_project/upload/panorama , а http://localhost:8000/my_project/upload/panorama

Так что страница с формой подгружается. Богдан спасибо, что не оставили в “беде”!

Но появилась следующая проблемка - форма выглядит просто - поле для title, поле для выбора файла (видео-панорамы), полем, где нужно выбрать к какой объяве этот файл будет закачиваться и кнопки upload. Так вот, раньше, без load файл закачивает и прикрепляет к нужной модели (ManyToMany), а вот ща, посредством Load все выбирается, но файл в итоге не добавляется в базу. Просто после нажатия на кнопку upload обновляется страница.



Офлайн

#6 Дек. 27, 2010 17:05:04

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

И все же.

Как исправить проблему с тем, что при подгрузки с помощью jquery формы загрузки файла в БД в нужный фрейм, сама форма не отрабатывает? (Т.е. файл не добавляется в БД)

Спасибо



Офлайн

#7 Дек. 27, 2010 21:39:25

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

После подгрузки во фрэйм страницы-формы (по урлу http://localhost:8000/my_project/upload/panorama) кнопка отправки в форме в контейнере (id=“contentContainer”) имеет id=“submit”. После заполнения формы и нажатия на сабмит форма должна уйти на сервер. Но не уходит. Нужно каким то образом после

$('#panorama_add').click(function () {
$("#contentContainer").load("http://localhost:8000/My_project/upload/panorama/");
});
видимо нужно как то добраться и обработать нажатие на кнопку сабмит.

Не подскажите как?

Если без jQuery, просто подгружать ту же http://localhost:8000/my_project/upload/panorama то все работает (форма отрабатывается), а если подгружается в контейнер, то нет.

Спасибо



Офлайн

#8 Дек. 28, 2010 00:26:03

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ajax

 form_action="http://localhost:8000/My_project/upload/panorama/"
Только мне непонятно, зачем оборачивать {{ form.as_p }} ещё раз в тег формы.

Офлайн

#9 Дек. 28, 2010 01:06:26

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

Ferroman
Thank u so much!
Но сама форма:

<form action="" method="post" enctype="multipart/form-data" >{% csrf_token %}
{{ form.as_p }}<br>
<input type="submit" name="submit" value="Upload" id="submit">
</form>
(сорри за оффтоп) она же генерится для любой модели, т.е. будь то фото, будь то панорама, или текст. Если я поставлю в
form action=""http://localhost:8000/My_project/upload/panorama/"
, то эту форму нельзя будет использовать для всех классов модели. Т.е. придется писать для каждого: form_upload_photo.html, form_upload_panorama.html…
А это как то не “DRY”
Может я не прав и не понимаю, но пока универсальности не получилось.

Просто странно, что без этой подгрузки с помощью jQuery файлы закачивались и все работало на ура. Когда же та же форма вызывается в каком то контейнере (“#contentConteiner”), то при нажатии на сабмит просто страница перегружается (вся, а не только #contentConteiner) и всё. Ниче не отправляется на сервер - ваще нуль.



Офлайн

#10 Дек. 28, 2010 01:08:10

Igor Shmigoff
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

ajax

Ferroman
Только мне непонятно, зачем оборачивать {{ form.as_p }} ещё раз в тег формы.
а как тогда отобразить поля формы?
Есть поля Title, File, ManyToMany(поле, так скажем). В документации {{ form.as_p }}



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version