是否可以使用Python在不刷新当前页面的情况下提交表单?我希望最终结果类似于Facebook评论的运作方式。
我目前正在使用jQuery表单来执行Ajax。但是,它没有提供我想要的用户体验,因为:
我希望我已经表明了我想要的。我需要像Facebook这样的评论系统起作用。有人发表了评论,然后提交了注释,而没有刷新页面。
编辑
jQuery代码:
$('#review_submit').submit(function() {
var options = {};
$(this).ajaxSubmit(options);
return false;
});
$('[name=submit_review_btn]').click(function(){
$('#review_submit').submit();
});因此,处理提交的python代码将需要从其服务器端代码重定向页面,因此将页面重定向到这个URL 'main_URL.com‘
在显示了jQuery代码之后,结果如下:
我对这种Ajax体验感到困惑。
发布于 2011-11-01 11:27:49
您可以通过使用jquery的ajaxPost代替jquery的形式来处理这个问题。这将允许您对表单进行.serialize() (获取参数),并能够返回到JS函数,以便在“表单提交”之后执行您想要的操作。查看jQuery.post()
jsFiddle
这不会刷新页面,因为post是通过AJAX调用发生的。它允许您在文章通过后运行一个函数并执行所需的操作(如果post返回数据,它将在这里可用.如果你想在这次成功之后再发一篇文章,你可以在这里完成.等等)
发布于 2011-10-30 16:10:21
如果您发布了您的JavaScript代码,就会更容易回答这个问题。
您是否使用提交按钮提交表单?如果是这样的话,那么jQuery表单应该处理所有内容,而不是刷新页面。
如果您是在JavaScript中提交表单,那么您的代码在jQuery表单示例中应该类似:
// attach handler to form's submit event
$('#myFormId').submit(function() {
// submit the form
$(this).ajaxSubmit();
// return false to prevent normal browser submit and page navigation
return false;
});return false;在这里是非常重要的。否则,用户将被重定向。
要使您的系统工作,您需要它执行两个阶段:
你现在的设置就是这样吗?
发布于 2011-11-04 02:17:39
我有一个非常动态的网站,在各地使用这项技术。我们使用Dojo,但是原则是相同的。正如上面的海报所述,您的表单需要让onsubmit=“返回false;”作为一个属性(或者在它提交的表单对象中),这样页面就不会被重新加载。
在服务器端,我们不使用重定向,而是使用JSON (或XML或其他什么)进行回复,并告诉响应处理程序(jQuery、Dojo等)下一步要做什么。
大多数情况下,这一过程是:
一个具体的例子如下:
编辑:链接到一些Python框架:链接
链接到关于在Django中返回JSON的基本教程(使用JQuery) 链接
另一个注意事项:当您使用JSON时,它在技术上不再是AJAX,因为X代表XML。
https://stackoverflow.com/questions/7945848
复制相似问题