Как редактировать ответ, отправленный обратно в jquery после успешной отправки формы в Django - PullRequest
1 голос
/ 02 июля 2011

У меня есть этот код

(r'^book/create/$', create_update.create_object, book_model)

book_model = {'model' : Book, "template_name" : "app/generic_form.html",}

У меня также есть get_absolute_url(self), поэтому после создания новой строки он перенаправляется на

/books/lists

Форма работает нормально.

Теперь я использовал плагин jquery Form для отправки формы. Теперь, когда я отправляю форму, данные вставляются через Ajax, но ничего не возвращаются.

Я думаю, что когда форма завершит публикацию, она будет перенаправлена ​​или /books/list, поэтому это может быть причиной, по которой я не возвращаю данные в jquery.

Теперь я хочу, чтобы эта форма работала как есть, но когда я использую jquery, я хочу отобразить что-то, что данные добавлены успешно, но я не знаю, как это сделать, поскольку я использую общие представления

Ответы [ 2 ]

2 голосов
/ 02 июля 2011

Добавьте параметр success к вызову плагина:

$('#your_form').ajaxForm({
  success: function(response){
    alert("Data added successfully");
  }
});

Надеюсь, это поможет.Приветствия

0 голосов
/ 02 июля 2011

Это представление должно быть получено из обычной отправки и из ajax

1) Добавьте параметр к вызываемому URL, чтобы понять представление, является ли вызов ajax или нет, вы также можете использоватьскрытый набор полей объявления "ajax"

2) Если представление обнаружило параметр "ajax", оно вернет вам сообщение или ошибку, если оно есть, в противном случае оно выполнит перенаправление.* Рассмотрите также использование двух разных URL для одного и того же представления

book/create/(?P<type>[a-z])/

book/create/standard/$ """do redirect after submit"""
book/create/ajax/$ """return httpresponse"""
...