Найти - Пользователи
Полная версия: ajax
Начало » Django » ajax
1 2 3 4
Igor Shmigoff
В общем ситуация следующая. При вставлении урла в метод 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/");
});
элегантное и короткое, но не работает - просто мертво, кликаешь и ваше ниче.
Спасибо
Ferroman
А клик хоть отрабатывается? Может просто не подгружается jquery.
Если запускаешь встроенным сервером, то посмотри в консоли нет ли 404 запросов, - может просто не грузятся ресурсы.

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

Если бибилотека подключена, клик отрабатывается, а запрос не идёт - значит ваш компютер что-то против вас замышляет.
Igor Shmigoff
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
Ferroman
Ясно же говорит - нет такого урла.
http://localhost:8000/My_project/upload/panorama

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

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

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

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

Спасибо
Igor Shmigoff
После подгрузки во фрэйм страницы-формы (по урлу 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 то все работает (форма отрабатывается), а если подгружается в контейнер, то нет.

Спасибо
Ferroman
 form_action="http://localhost:8000/My_project/upload/panorama/"
Только мне непонятно, зачем оборачивать {{ form.as_p }} ещё раз в тег формы.
Igor Shmigoff
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) и всё. Ниче не отправляется на сервер - ваще нуль.
Igor Shmigoff
Ferroman
Только мне непонятно, зачем оборачивать {{ form.as_p }} ещё раз в тег формы.
а как тогда отобразить поля формы?
Есть поля Title, File, ManyToMany(поле, так скажем). В документации {{ form.as_p }}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB