Создание формы Ajax в Google App Engine - PullRequest
5 голосов
/ 17 октября 2008

У меня есть форма, когда я нажимаю кнопку «Отправить», я хочу связаться с сервером и получить что-то с сервера для отображения на той же странице. Все должно быть сделано в AJAX манере. Как это сделать в Google App Engine? Если возможно, я хочу сделать это в JQuery.

Изменить: пример в code.google.com / appengine / Articles / rpc.html не работает с формой.


Edit: процедура rpc не работает для формы .

Ответы [ 3 ]

7 голосов
/ 31 октября 2008

Вы можете использовать плагин jquery Form для отправки форм с помощью ajax. Работает очень хорошо.

$('#myFormId').submit(function() {
    // submit the form
    $(this).ajaxSubmit();
    return false;
});
1 голос
/ 21 октября 2008

Я делал это раньше в jQuery (не уверен, что это «лучший» способ, но он работает):

function jsonhandler(data) {
   // do stuff with the JSON data here
}

var doajax = function () {
    arr = Object();
    $("#form_id").children("input,select").each(function() { arr[this.name] = this.value;});
    $.getJSON("<page to call with AJAX>", arr, function (data) { jsonhandler(data);});
}

$(document).ready(function () {
    $("#submit_button_id").replaceWith("<input id=\"sub\" name=\"sub\" type=\"button\" value=\"Submit\">");
    $("#sub").click(doajax);
}

Вы можете заменить $ .getJSON на в зависимости от того, какая функция jQuery AJAX делает то, что вы хотите . Если вы просто хотите отобразить вывод страницы, которую вы вызываете, вероятно, лучшим выбором будет $ .get. Если у вас есть другие типы ввода, помимо ввода, и выберите их в форме, вам также необходимо добавить их в функцию потомков.

1 голос
/ 20 октября 2008

Я бы добавил, что в Firebug вы должны увидеть всплывающий вызов ajax в консоли. Если вы получаете исключение, когда открываете этот адрес, что-то не так с вашим кодом Python. Может быть, вы не правильно отображаете свои URL?

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