2015-05-05 64 views
0

我有輸入類型號碼和選擇與id matiere,在輸入數字火輸入函數go()在我的ajax方法,它的工作正常與一個值matiere

<label>Niveau:</label> 
<input type="number" oninput ="go()" id="nivo" name="nivo" max="4" min="1" required autocomplete="off" maxlength="23" /> 

    <label>Matière</label> 
    <select name="matiere" id="matiere" > 

我需要做的是在xhr.send()發送$_SESSION['id']值太大

  function getXhr(){ 
      var xhr = null; 
       if (window.XMLHttpRequest) // Mozilla, Safari,... 
        xhr = new XMLHttpRequest(); 
      else if(window.ActiveXObject){ // Internet Explorer 
       try { 
       xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
        } catch (e) { 
         xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
      } 
      else { // XMLHttpRequest non supporté par le navigateur 
       xhr = false; 
        } 
         return xhr;   
      } 

     function go(){ 
     // alert(" test in go"); 
      var xhr = getXhr(); 
      // On défini ce qu'on va faire quand on aura la réponse 
      xhr.onreadystatechange = function(){ 
       // On ne fait quelque chose que si on a tout reçu et que le serveur est ok 
      if (xhr.readyState == 4 && xhr.status == 200) { 
        leselect = xhr.responseText; 
        // On se sert de innerHTML pour rajouter le valeur au liste_profil 
        document.getElementById("matiere").innerHTML = leselect; // emplacement de resultat 
        } 
      } 
      // Ici on va voir comment faire du post 
      xhr.open("post","getmatiere.php",true); // < fichier d'action 
      // ne pas oublier ça pour le post 
      xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
      // ne pas oublier de poster les arguments 

      // numero 
      nivo = document.getElementById('nivo'); // <== paramètre 1 a envoyer 
      nv= nivo.value; // <== prendre le valeur de paramètre 1 envoyer 

      // valeur de $_SESSION['id'] 

       // << here what i need to help for >> 
       //idS 
     // send 

      // xhr.send('nivo=nv&id=idS'); 
      xhr.send("nivo="+nv); // <== nivo envoyer 

     } 
     </script> 

感謝您的幫助

+0

您是否開始會話?你的問題不清楚 –

+0

是的,我開始會話 – Supupoff

回答

0

如果您正在尋找sessio n標識符,通常您會查看PHPSESSID(除非您給出自定義名稱)cookie或查詢參數。你可以這樣取,

function getCookie(name) 
{ 
    var re = new RegExp(name + "=([^;]+)"); 
    var value = re.exec(document.cookie); 
    return (value != null) ? unescape(value[1]) : null; 
} 

Source

,然後撥打電話到var session_id = getCookie('PHPSESSID');

如果禁用Cookie,你可以通過query params閱讀。

現在,如果您實際上正在尋找一個會話屬性,只能在服務器端進行,除非您選擇在發送服務器響應時將此屬性粘貼到請求中的cookie或param中。