#jquery #python #ajax #django #post
#jquery #python #ajax #django #Публикация
Вопрос:
Я прочитал все по теме, но не могу понять, что не так.
$(document).ready(function() {
$.post("tweet.py", {
lat : searchResult._point.__lat,
lng : searchResult._point.__lng,
text : searchResult.text
}, function(data) {
alert(data);
});
});
Код обработчика:
import django
def iEventAjax(request):
if request.is_ajax():
return HttpResponse("ok")
Предупреждающее сообщение
"import django
def iEventAjax(request):
if request.is_ajax():
return HttpResponse("ok")
"
вместо «ok»
что не так?
Комментарии:
1. Конечно, вы должны отправлять сообщения по URL-адресу на вашем сервере, а не в файл.
2. что я должен написать вместо этого? $.post(«/», { ?
3. какой URL? у меня есть два файла в каталоге проекта, файл, содержащий js и html, откуда я отправляю post и file tweet.py
4. Ну, вы, вероятно, знаете, как писать URLconfs в Django. Один из URL-адресов в этом URLconf (также предположительно) связан с вашей функцией «обработчик». Итак, это URL-адрес, на который вы хотите опубликовать.
Ответ №1:
Пожалуйста, добавьте в свой urls.py url-адрес, подобный
(r'^ajaxrequest$', 'app.views.iEventAjax')
а затем измените
$(document).ready(function() {
$.post("/ajaxrequest", {
lat : searchResult._point.__lat,
lng : searchResult._point.__lng,
text : searchResult.text
}, function(data) {
alert(data);
});
});
в вашем views.py вашего приложения
def iEventAjax(request):
return HttpResponse("ok")