5

我有一个表单,当我单击提交按钮时,我想与服务器通信并从服务器获取一些内容以显示在同一页面上。一切都必须以 AJAX 方式完成。如何在 Google App Engine 中执行此操作?如果可能的话,我想用 JQuery 来做。

编辑:code.google.com/appengine/articles/rpc.html中的示例不适用于表单。


编辑: rpc 过程不适用于 form

4

3 回答 3

7

您可以使用jquery Form 插件使用 ajax 提交表单。效果很好。

$('#myFormId').submit(function() {
    // submit the form
    $(this).ajaxSubmit();
    return false;
});
于 2008-10-31T10:25:58.280 回答
1

我以前在 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 可能是您最好的选择。如果您在表单中除了输入和选择之外还有其他输入类型,您还需要将它们添加到子函数中。

于 2008-10-20T22:43:53.453 回答
1

我会在 Firebug 中添加它,您应该会在控制台中看到您的 ajax 调用弹出。如果您在打开该地址时遇到异常,则说明您的 Python 代码有问题。也许您没有正确映射您的网址?

于 2008-10-19T20:32:39.660 回答