我试图通过获取包含xlm格式的php文件发送两个变量
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>';
当我回显这些变量时,它只显示一个,实际上它只发送用户名,该用户名是发送的列表中的第二个(从上到下)。我如何发送两个或更多的变量
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;
}
这是
的输出电子邮件:空的东西
用户名:&#34;来自输入&#34;
的值我希望电子邮件从其输入中获得价值。
我希望我明白我的问题。
答案 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 []数组中。