在不刷新的情况下将变量从一个PHP页面传递到另一个PHP页面

在不刷新的情况下将变量从一个PHP页面传递到另一个PHP页面,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我有两页正在处理。我的第一个表单是一个名为mainform.php的表单,它包含一个表单,用户可以记录他们进行的测试的结果。提交表格后,这些测试结果将被提交到数据库中。在mainform.php中,我有一个Jira问题滑块选项卡,用户可以记录在运行测试时遇到的问题。我的第二个页面(issueSubmit.php)是与JIRARESTAPI交互并向JIRA发送信息的页面。该命令的输出是一组信息,包括JIRA发行号 我的问题是,将JIRA发行号发送回第一页的最佳方式是什么(以便将其附加到这些测试结果

我有两页正在处理。我的第一个表单是一个名为mainform.php的表单,它包含一个表单,用户可以记录他们进行的测试的结果。提交表格后,这些测试结果将被提交到数据库中。在mainform.php中,我有一个Jira问题滑块选项卡,用户可以记录在运行测试时遇到的问题。我的第二个页面(issueSubmit.php)是与JIRARESTAPI交互并向JIRA发送信息的页面。该命令的输出是一组信息,包括JIRA发行号


我的问题是,将JIRA发行号发送回第一页的最佳方式是什么(以便将其附加到这些测试结果中)。请记住,mainform.php不会被刷新,用户在点击表单提交按钮之前不会离开mainform.php。我考虑过AJAX,但从我所读到的内容来看,我不确定AJAX本身是否足够。任何建议都很好。

页面issueSubmit.php可以通过ajax本身调用,在调用它时,JIRA问题编号将作为响应依次返回,而无需刷新表单。现在,返回的响应可以用于显示。

让issueSubmit.php返回从API调用接收到的数据。您可以使用JSON非常轻松地做到这一点:

$results = $example->myApiCall();
echo json_encode($results);
然后,在mainform.php中,您的Ajax调用可能类似于:

$.ajax({ 
        method: "post",
        url: 'issueSubmit.php',
        data: {myVar: customViariable},
        success: function(data){
            var result = JSON.parse(data);
            console.log(result);
            //Check the dev console in your browser
            //Do something with returned data
        } 
});

当您返回到上一页mainform.php时,您会看到最新的内容吗?返回时应该是一个新的HTTP请求。请阅读,因为用户在mainform.php上提交表单之前正在访问issueSubmit.php,所以我让它为issueSubmit.php打开一个单独的窗口。原因是我不希望他们输入的数据在提交表单之前发送到其他页面时丢失。你希望第一页中的数据像facebook帖子中的评论一样自动更新吗?阅读socket.io,您需要的是服务器推送,也称为反向AJAX。好的,这似乎是一个很好的解决方案。不过我有个问题。由于我对ajax不太熟悉,“data:{myVar:customVariable}”代表什么?它是通过ajax发送的数据。在本例中,POST变量$u POST['myVar']将被发送到issueSubmit.php,并且它将具有JavaScript变量customVariable中的任何值。