HTTP POST от jquery до django, работающий на движке приложения Google - PullRequest
0 голосов
/ 10 декабря 2010

Я не уверен, что не так ..

В моем html-файле я делаю следующее:

$.post("some_page", {
   param1: "something" , "param2": "something 2"
  }, function(data) {
   alert(data)
  }, "json");

В файле Python qwerty.py, в который я отправляю сообщение, у меня есть следующее:

def some_page(request): 

param1 = request.POST['param1']
param2 = request.POST['param2']

В файле urls.py я получил следующую строку:

urlpatterns = patterns('',
   (r"^some_page$", "views.qwerty.some_page"),)

После выполнения HTTP POST возникает внутренняя ошибка сервера, говоря, что запрос не содержит ни param1, ни param2 (я пытался изменить порядок параметров), укажите на строку:

param1 = request.POST['param1']

в файле qwerty.py .. Что я делаю не так? Можете ли вы указать мне направление?

Заранее спасибо, Serhiy.

1 Ответ

0 голосов
/ 10 декабря 2010

Убедитесь, что вы не заключаете в кавычки ключи в вашем словаре данных $ .post, как вы делали это с 'param2' выше.

$.post("some_page", {
        param1: "something",
        param2: "something 2"
    }, function(data) {
        alert(data)
    }, "json");

Кроме того, когда вы пытаетесь получить значение из dict в Python, вы должны либо обернуть его в предложении try / исключением, либо использовать соответствующие инструменты для работы. Например:

param1 = request.POST.get('param1')

Это гарантирует, что исключение не возникнет, если param1 не существует в request.POST. Вместо этого он вернет None.

Возможно, что внесение некоторых из вышеуказанных изменений решит проблему для вас - я надеюсь. Однако иногда трудно точно помочь, если у вас есть только часть изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...