duanmao2774 2015-05-05 12:30
浏览 91
已采纳

在xhr.send()帖子中发送$ _SESSION ['id']

I have input type number and select with id matiere , oninput in input number fire function go() in my ajax method, and it's work fine with one value 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" >

What I need to do is to send $_SESSION['id'] value in xhr.send() too

            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>

Thanks for help

  • 写回答

1条回答 默认 最新

  • drxpt06820 2015-05-05 17:14
    关注

    If you are looking for the session identifier, typically you'd be looking at PHPSESSID (unless you have given a custom name) cookie or a query param. You can fetch it this way:

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

    Source

    and then make a call to var session_id = getCookie('PHPSESSID');

    If cookies are disabled, you could read it via query params.

    Now, if you are actually looking for a session attribute, that can be done only at the server side, unless you choose to stick this attribute in a cookie or a param in your request Urls when sending responses from the server.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题