试图通过AJAX从多个Windows传递多个变量

时间:2015-10-30 11:28:34

标签: javascript php jquery html ajax

我试图将两个不同窗口中的多个变量传递到同一个PHP脚本中。这可能吗?如果没有,那么最好的做法是什么?

由于

verifyemail.html

<script type = "text/javascript" src = "js/js_functions.js"> </script>  
<form method="post" onsubmit = "return testAjax();" />
    <input   type="email" placeholder="email" name="email" required maxlength = "50"><br>
    <input  type="email" placeholder="re-enter email"name="reemail" required maxlength = "50"><br>              
    <input type="submit" value="Verify Email"> 
</form>

<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

signup.html:

<script type = "text/javascript" src="js/js_functions.js"></script>
<form method="post" onsubmit="return ajaxTest();"/>
            <input   type="text" placeholder="username" name="username"     required = "required" maxlength = "15"><br>
            <input  type="password" placeholder="password" name="password" required = "required" pattern = "(?=.*\d)(?=.*[A-Z]).{10,}"><br>
            <input  type="password" placeholder="re-enter password"name="repassword" required = "required"><br>
            <p class = "passwordreq">Password must:</p>

            <input type="submit" value="sign up"> <input type="button" value="go back"  onclick="window.location='index.html'">
        </form>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

js_functions

var username, password;
function setUsrandPass(form)
{
if(form.password.value != form.repassword.value)
{
    alert("Passwords do not match");

}

else {
    username = form.username.value;
    password = form.password.value; 

    window.location = 'verifyemail.html';

}

return false; 
}

function ajaxTest()
{
if(form.email.value != form.reemail.value)
{
    alert("Emails do not match");

}

else
$.ajax({
    type: 'GET',
    url: 'signup_script.php',
    data: {usr: username, pass: password, em: form.email.value},
});

return false; 
}

php脚本:

<?php 

include 'profile_Functions.php';

$username = $_GET['usr'];
$password = $_GET['pass'];
$email = $_GET['em'];

echo "got here!";

createUser($username,$password,$email);
?>

1 个答案:

答案 0 :(得分:1)

对于来自不同页面的内容,这是不可能的。他们需要向PHP脚本发出相同的请求以提供这两个数据。

您可以通过使用PHP编写某种数据存储(即文件或数据库)来规避这一点,然后等待其他脚本编写,然后PHP就可以进行所需的任何处理。 / p>