2013-11-10 6 views
0

Я пытался последовать примеру онлайн, где я передаю переменные с использованием AJAX для PHPПередача Mutiple переменных в AJAX

Он работал, но я сумел только передать 1 переменную через использование 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; 

?> 
+0

Где находится jQuery? – adeneo

+0

Вы пытаетесь получить доступ к параметру GET с именем «gender», но вы не поместили параметр с этим именем в строку запроса вашего URL. Пожалуйста, взгляните на основы параметров GET. – CBroe

ответ

2

Быстрый ответ ...

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 см следующие регулировочные шайбы для Array.prototype.map и Object.keys.

Смежные вопросы