我有一个表单,当我单击提交按钮时,我想与服务器通信并从服务器获取一些内容以显示在同一页面上。一切都必须以 AJAX 方式完成。如何在 Google App Engine 中执行此操作?如果可能的话,我想用 JQuery 来做。
编辑:code.google.com/appengine/articles/rpc.html中的示例不适用于表单。
编辑: rpc 过程不适用于 form。
我有一个表单,当我单击提交按钮时,我想与服务器通信并从服务器获取一些内容以显示在同一页面上。一切都必须以 AJAX 方式完成。如何在 Google App Engine 中执行此操作?如果可能的话,我想用 JQuery 来做。
编辑:code.google.com/appengine/articles/rpc.html中的示例不适用于表单。
编辑: rpc 过程不适用于 form。
您可以使用jquery Form 插件使用 ajax 提交表单。效果很好。
$('#myFormId').submit(function() {
// submit the form
$(this).ajaxSubmit();
return false;
});
我以前在 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 可能是您最好的选择。如果您在表单中除了输入和选择之外还有其他输入类型,您还需要将它们添加到子函数中。
我会在 Firebug 中添加它,您应该会在控制台中看到您的 ajax 调用弹出。如果您在打开该地址时遇到异常,则说明您的 Python 代码有问题。也许您没有正确映射您的网址?