Существует несколько способов сделать это. Поскольку вы используете API с tastypie, я предлагаю не отправлять форму самостоятельно, а извлекать данные формы перед отправкой формы с помощью JavaScript. На отправке вы передаете данные, которые вы хотите отправить в орган запроса, в конечную точку API.
В качестве примера у вас может быть конечная точка api для записей в блоге, скажем, ее http://example.com/api/v1/entry
. Учитывая Ваш API позволяет запросы междоменное (например, через CORS) вы могли бы сделать что-то простое, как это «подать» свою форму (например, создание новой записи):
$('#myForm #mySubmitButton').click(function() {
$.post('http://example.com/api/v1/entry', $('#myForm').serialize(), function(data) {
// deal with the response data
}
});
Я не уверен, что tastypie поддерживает этот вид структура данных. Немного более длинная версия этого может быть, чтобы сделать что-то вроде этого (здесь я уверен, что tastypie не поддерживает его), который отправляет данные в формате JSON:
$('#myForm #mySubmitButton').click(function() {
var data = {'title': $('#myForm #titleInput').val(), 'description': $('#myForm #descriptionInput').val()};
$.post('http://example.com/api/v1/entry', data, function(data) {
// deal with the response data
}
});
Эти примеры не касаются проверки формы, обработки ошибок и т. д. Вы могли бы заглянуть в tastypie validation для более подробной информации и потенциально также добавить специальную проверку на соответствие с помощью HTML5. Я также предлагаю вам использовать более сложную инфраструктуру JavaScript, например AngularJS, для приложений с одной страницей, таких как приложение PhoneGap. JQuery скоро раздует ваше приложение, когда оно вырастет.