2016-03-06 49 views
-1

我試着去用GET兩個變量發送到包含一個XLM格式Ajax,PHP。我怎麼能發送多個變量與_GET或其他方式到其他文件?

function process(){ 

if (xmlHttp){ 
    try{ 
    email = encodeURIComponent(document.getElementById("email").value); 
    if (email=="") {email="empty email"}; 
    xmlHttp.open("GET", "user_check.php?email=" + email, true); 

    username = encodeURIComponent(document.getElementById("username").value); 
    if (username=="") {username="empty username"}; 
    xmlHttp.open("GET", "user_check.php?username=" + username, true); 

php文件看起來像

echo '<response>'; 
    echo '<username>'; 
     $username = (isset($_GET['username']) ? $_GET['username'] : "something empty"); 
      echo $username; 

    echo '</username>'; 

    echo '<email>'; 
     $email = (isset($_GET['email']) ? $_GET['email'] : "something empty"); 
     echo $email; 

    echo '</email>'; 

echo '</response>'; 

當我贊同這些變量它顯示只有一個PHP文件,實際上它只發送列表中第二個(從上到下)發送的用戶名。我怎麼能同時發送或更高版本的多個變量

function handleResponse(){ 
    message_email = xmlHttp.responseXML.documentElement.getElementsByTagName("email").item(0).firstChild.data; 
    next_email = document.getElementById("next_email"); 
    next_email.innerHTML =message_email; 

message_username = xmlHttp.responseXML.documentElement.getElementsByTagName("username").item(0).firstChild.data; 
    next_username = document.getElementById("next_username"); 
    next_username.innerHTML =message_username; 
} 

的這個輸出是

電子郵件:一些空

用戶名:

我要寄有「從輸入值」其價值來自其投入。

我希望我明確提出了我的問題。

+0

你必須在一次調用中發送兩個值'xmlHttp.open(「GET」,「user_check.php?username =」+ username +「&email =」+ email,true);' – SearchAndResQ

+0

非常感謝, –

回答

0

就我所能理解的你而言,你必須將兩個變量放在一個請求中,因爲現在,你發送兩個請求,在所有事情都只讀取第二個請求之後。

發送兩個變量在一個GET請求,你使用這樣的:

http://example.com/response.php?var1=foo&var2=bar 

導致PHP:

$_GET['var1'] = "foo"; 
$_GET['var2'] = "bar"; 

所以,你的AJAX代碼應該是這樣的:

email = encodeURIComponent(document.getElementById("email").value); 
if (email=="") { 
email="empty email" 
}; 

username = encodeURIComponent(document.getElementById("username").value); 
if (username=="") { 
username="empty username" 
}; 

xmlHttp.open("GET", "user_check.php?email=" + email + "&username=" + username, true); 

重要的是,GET變量的順序並不重要 - 你可以把電子郵件或用戶名放在第一位,它們都是加載到$ _GET []數組中。

+0

如果這個答案對您有好處,請將其標記爲解決您的問題;) –

相關問題