我有html页面,您可以在其中插入一些信息,然后提交此表单,这将更改数据库中的信息。我通常这样做,提交服务器中的按钮调用php文件。 但我想要的是,这个php文件将返回给我相同的html页面,我发送请求,修改后的更改。例如:将添加“数据库更新成功”文本等。 没有AJAX我怎么能这样做?
由于
答案 0 :(得分:1)
在PHP文件中,调用header()函数以重定向用户。例如:
header('Location: url.php');
要更改重定向到的网页内容,您可以在网页检查的网址中传递内容。例如:
header('Location: url.php?submitted=1');
还有其他方法可以实现这一点,但这对我来说似乎最直接。请注意,您不希望在提交页面结束前调用header()。
答案 1 :(得分:0)
摘录:
用户提交表单
这很简单。用户完成表单并按提交按钮提交表单或在键盘上输入。
我们将表单数据存储在会话中
处理完数据后,我们发现了一个错误,所以我们需要重新显示带有错误信息的表单,但我们也希望填充 它与他们的数据,所以他们不必重新填充整个表格 潜在地解决一个小错误。所以我们将他们的数据存储在一个 session($ _SESSION)。会话变量从页面到页面继承 只要会话有效或直到删除它们。这是 自重定向以来放置信息的理想位置 他们的信息将被服务器立即丢弃。
我们使用303重定向
将用户重定向回同一页面一旦我们在会话中保存了用户的信息,我们需要将它们重定向回同一页面。为了这个工作 我们需要使用303重定向。这意味着我们需要发送一个 303我们的重定向标题。 303重定向将导致浏览器 在没有初始HTTP POST请求的情况下重新加载页面 重新提交。这包括用户使用后退或刷新的时间 的按钮。
- 醇>
我们使用会话中存储的数据重新填充表单 当页面发送给用户时,我们会将其保存在会话中的信息重新填充。
答案 2 :(得分:0)
只有首先在CGI中生成整个页面,除非你通过一些非常复杂的方法来获取其中一个字段的值,以便将其设置为document.innerHTML或Javascript中的类似内容。但你会经历地狱,以解决引用问题。使用AJAX,它就是为了这个目的而创建的,正是为了避免与你所需要的完全相关。
或者:页面的“修改后的部分”可以是iframe,您可以设置表单的target
属性,以便PHP只返回iframe内容。