如何在不重定向到表单操作页面的情况下处理表单操作的结果?

时间:2012-05-16 16:53:04

标签: php forms

请原谅我缺乏100%具体的技术语言...我有点像黑客......

后端开发人员(谁在我无法访问的服务器上工作)为我设置了一个表单操作,我想知道将表单操作的响应用作错误或成功消息的最佳方法是什么用户。例如,当我使用GET变量(例如remote-server.com/action.cfm?email=nothing)点击表单操作时,远程cfm页面将仅显示“-3”,这是“错误”的错误代码电子邮件”。开发人员设置了一系列与其他错误/成功案例相对应的错误/成功代码。

所以我正在寻找一个基本上可以做到的解决方案:

  1. 获取表单数据并将其传递给remote-server.com/action.cfm,而无需将用户定向到该页面。

  2. 从remote-server.com/action.cfm读取响应,该响应将以逗号分隔的系列数字显示。

  3. 在PHP中将这些数字分配为字符串,这样我就可以嗅出错误/成功代码并在我的前端代码中显示相应的消息。

  4. 再说一次,简而言之,问题是我想使用form action =“remote-server.cfm”...但是没有页面将用户重定向到该cfm页面。相反,它应该将cfm页面的输出放入我的表单的PHP页面,以便我可以处理它。这有意义吗?我环顾四周,人们似乎都说AJAX是唯一的方法。还有其他想法吗?非常感谢!

2 个答案:

答案 0 :(得分:4)

这是正确的,好像你需要使用Javascript和AJAX。通过AJAX调用,您可以在后台向该服务器发送异步后查询,而无需将用户重定向到任何其他页面,并解析响应变量。

如果提交有错误,您可以显示正确的错误(如果您知道服务器期望的内容以及在提交之前它没有提供的内容,甚至可以添加表单验证),如果AJAX调用成功,只需将用户重定向到一个不同的页面(并且不再发布表单,因为它已经提交过一次)

答案 1 :(得分:0)

为什么不使用AJAX?使用JavaScript / jQuery在表单上附加提交处理程序,并使用AJAX轻松提交,然后阅读相应的响应和诸如此类的内容,并为用户很好地显示它。

如果JavaScript被禁用,表单将正常提交,这不是很好,但仍应可用。