Сообщение Django jQuery Ajax

#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")