Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AJAX中传递多个变量?_Javascript_Ajax - Fatal编程技术网

Javascript 在AJAX中传递多个变量?

Javascript 在AJAX中传递多个变量?,javascript,ajax,Javascript,Ajax,我一直在尝试在线学习一个例子,在这个例子中,我使用AJAX将变量传递给PHP 它起作用了,但我使用AJAX只传递了一个变量,但我需要传递多个变量,我尝试添加它,但没有起作用。如果有任何帮助,我们将不胜感激 我试着像这样添加它var url='ajax.php?js_var='+js_var+gender但它只是在同一行上打印出来 <html> <head> <title>Pass variable from PHP to JavaScript -

我一直在尝试在线学习一个例子,在这个例子中,我使用AJAX将变量传递给PHP

它起作用了,但我使用AJAX只传递了一个变量,但我需要传递多个变量,我尝试添加它,但没有起作用。如果有任何帮助,我们将不胜感激

我试着像这样添加它
var url='ajax.php?js_var='+js_var+gender但它只是在同一行上打印出来

 <html>
  <head>
    <title>Pass variable from PHP to JavaScript - Cyberster's Blog'</title>
  </head>
  <body> 
    <a href="#" id="link">Click me!</a>
    <div id="update"></div>

    <script type="text/javascript">
        var js_var = "M";    
        var gender = "hey";
        document.getElementById("link").onclick = function () {        
            // ajax start
            var xhr;
            if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); // all browsers
            else xhr = new ActiveXObject("Microsoft.XMLHTTP");  // for IE

            var url = 'ajax.php?js_var=' + js_var + gender;
            xhr.open('GET', url, false);
            xhr.onreadystatechange = function () {
                if (xhr.readyState===4 && xhr.status===200) {
                    var div = document.getElementById('update');
                    div.innerHTML = xhr.responseText;
                }
            }
            xhr.send();
            // ajax stop
            return false;
        }
    </script>
  </body>
  <?php
    if (isset($_GET['js_var'])) $php_var = $_GET['js_var']  ;
    else $php_var = "<br />js_var is not set!";

     if (isset($_GET['gender'])) $php_var1 = $_GET['gender'] ;
    else $php_var1 = "<br />js_var is not set!";

echo $php_var;
echo $php_var1;

?>

将变量从PHP传递到JavaScript-Cyberster的博客
var js_var=“M”;
var gender=“嘿”;
document.getElementById(“link”).onclick=function(){
//ajax开始
var-xhr;
if(window.XMLHttpRequest)xhr=new XMLHttpRequest();//所有浏览器
else xhr=new-ActiveXObject(“Microsoft.XMLHTTP”);//用于IE
var url='ajax.php?js_var='+js_var+gender;
xhr.open('GET',url,false);
xhr.onreadystatechange=函数(){
if(xhr.readyState==4&&xhr.status==200){
var div=document.getElementById('update');
div.innerHTML=xhr.responseText;
}
}
xhr.send();
//阿贾克斯站
返回false;
}
快速回答

var url = 'ajax.php?js_var=' + js_var + '&gender=' + gender;
更好的答案

var params = {
    "js_var": js_var,
    "gender": gender
};

var queryParams = Object.keys(params).map(function(k) {
    return encodeURIComponent(k) + '=' + encodeURIComponent(params[k]);
}).join('&');

var url = 'ajax.php?' + queryParams;

如果您需要支持IE版本<9,请参阅和的以下说明。

jQuery在哪里?您正在尝试访问名为
gender
的GET参数,但尚未将该名称的参数放入URL的查询字符串中。请查阅获取参数的基础知识。