提交操作而不刷新或重定向页面


Submit an action without refreshing or redirecting the page

那么,我在一个页面上有一个联系人表单(我们称之为send_now.phpexample.com/send)

一旦表单被填写并提交,然后一封电子邮件被发送给某个用户,而页面被定向到example.com/it_is_sent页面,其中包含基于confirmation.php的发送确认。

我想知道如何改变它,以便一切都在example.com/send/页面上完成,而无需刷新或将用户重定向到下一页。

这就是我的意思。

因此,在/send/页面中,用户填写表单并单击发送。然后,在不将用户重定向到/confirmation/页面的情况下,确认信息显示在/send/页面上,而不重定向用户,所以所有事情都发生在同一个页面中。

有办法吗?这样做的一般概念是什么?或者,是否可以在不刷新页面的情况下在同一页面中提交表单?

谢谢!

在网上快速搜索"jquery ajax表单提交"。我想你要找的术语是Ajax。它允许JavaScript在不刷新页面的情况下将数据发送给PHP脚本。

您像往常一样构建表单,并将jQuery单击事件附加到表单或提交按钮。jQuery/Ajax函数从表单中获取数据,并将其通过GET或POST发送到PHP表单。

jQuery/Ajax函数接收PHP脚本输出的内容。我喜欢在PHP数组上使用json_encode来输出PHP脚本。在JavaScript中,我可以很容易地将结果作为一个值数组来处理。

取决于什么是在数组或输出取决于你的JavaScript应该如何反应。输出可以像0或1,真或假一样简单,或者像我通常做的那样是json数组或值。我通常至少会包括error=true/false

可以在Ajax成功函数触发后将PHP脚本输出显示在Div中。

你也可以使用jQuery load()在成功时将另一个页面加载到Div中。当你把这一切结合在一起时,可能性是无限的。

你可以很容易地在StackOverflow和其他互联网上的教程中找到这个代码示例。你正在寻找"jQuery Ajax表单提交到PHP",甚至可能与MySQL?

这项技术使按钮可以进行即时更改。一旦你完成了这个项目,看看websockets,如果你真的想知道web可以有多即时。