好的,我正在尝试这样做 一个任务表格,一旦访客按下开始,它会在注册后弹出一个带有注册表格(不是我的实际网站)的新标签,这第二个网站会发送一些信息让我知道这个访客完成了他的注册,
没关系,但这不是问题,我想从用户启动任务的主网页上直接收到注册结果,如何做到这一点,无需多次刷新特定页面来检查当前状态,我想从主页面完成注册后立即收到
使用jquery,javascript或php或任何可能性来执行此操作
答案 0 :(得分:1)
在第一页中,您可以使用$ .ajax(http://api.jquery.com/jQuery.ajax/)将注册信息发布到数据库,然后在第二页上检索它(使用$。 ajax以及)。问题是第二页如何知道用户是否已在第一页上完成业务(由“window.opener”方法识别)?要做到这一点,你可以做一个setTimeout()一定秒,看看注册是否已经完成。如果是,请从数据库中检索信息。
虽然使用$ .ajax可能过分依赖用户的互联网连接,但我个人觉得它很慢。更快捷的方法是使用cookie来检查用户是否已完成注册。
还有一种称为“本地存储”的相对较新的HTML5方法,它充当客户端数据库(与cookie不同,它可以支持大量数据,您可以将整个注册表存储在其上)。它也比轮询关系数据库快。
答案 1 :(得分:0)
你可以这样做:
答案 2 :(得分:0)
您仍然需要轮询主页以检查是否已完成工作,因为服务器无法启动与客户端的连接。要防止页面刷新,请使用AJAX进行轮询。
答案 3 :(得分:0)
使用jQuery ajax
将注册数据发送到服务器,并在完成事务(将用户保存到数据库)后返回一些响应。在回调函数中抓取它并做更多事情(显示消息/重新加载页面的某些部分等等)
所以请将您的注册数据发送到服务器页面,如下
$(function(){
$("form").submit(e){
e.preventDefault();
$.post("yourRegistrationProcess.php",$("form").serialize(),function(data){
//You have the response from server in data variable.
// Do whatever you want next with that.
});
});
});
假设您将用户注册数据保存到表格后,从yourRegistrationProcess.php
(回显“已保存”;等等)发回一些回复。