如何在.open(“ GET”,“ [...]”)中将变量放入字符串

时间:2019-04-22 13:54:19

标签: javascript php ajax

我需要将一个变量放入URL:

requeteAjax.open("GET", "../src/App/handler.php?id=");

例如,如果我在13号活动上,我想拥有:

requeteAjax.open("GET", "../src/App/handler.php?id=13");

这是我的表格:

<section class="chat">
    <div class = messages>
    </div>
    <div class="user-input">
        <form action="../src/App/handler.php?task=write" method="POST">
            <input type="hidden" name ="auteur" id="auteur" value="<?php echo $id_membre ?>">
            <input type="hidden" name ="id_event" id="id_event" value="<?php echo $id_event ?>">
            <input type="text" id="message" name="message">
            <button type="submit">Envoyer</button>
        </form>
    </div>
</section>
<script src="../src/JS/chat.js"></script>

这是我的JS代码的一部分:

function getMessages(){
    const requeteAjax = new XMLHttpRequest();

    requeteAjax.open("GET", "../src/App/handler.php?id=");

    requeteAjax.onload = function(){
      const resultat = JSON.parse(requeteAjax.responseText);
      console.log(resultat);
      const html = resultat.reverse().map(function(mess){
        return `
          <div class="message">
            <span class="date">${mess.date.substring(5, 16)}</span>
            <span class="author">${mess.id_auteur}</span> : 
            <span class="content">${mess.message}</span>
          </div>
        `;
      }).join('');

      const messages = document.querySelector('.messages');

      messages.innerHTML = html;
      messages.scrollTop = messages.scrollHeight;
    }
    requeteAjax.send();
  }

是否可以将我的.php变量$id_event发送到js文件?

在那之后,我需要将此变量放入URL中。

1 个答案:

答案 0 :(得分:0)

事实上,如果我很了解您的问题,您想在url中添加一个参数,那么您可以在后端作为变量进行恢复。例如,如果您在php下工作,则可以使用通过以下方式,$ _GET ['变量名']。所以,要做到这一点, 我接受了您的代码,但与众不同的是,我想添加必要的代码以说明您必须如何克服问题。

function getMessages(){

const requeteAjax = new XMLHttpRequest();

//Before
//requeteAjax.open("GET", "../src/App/handler.php?id=");
//After

 requeteAjax.open("GET", "../src/App/handler.php");

requeteAjax.onload = function(){
  const resultat = JSON.parse(requeteAjax.responseText);
  console.log(resultat);
  const html = resultat.reverse().map(function(mess){
    return `
      <div class="message">
        <span class="date">${mess.date.substring(5, 16)}</span>
        <span class="author">${mess.id_auteur}</span> : 
        <span class="content">${mess.message}</span>
      </div>
    `;
  }).join('');

  const messages = document.querySelector('.messages');

  messages.innerHTML = html;
  messages.scrollTop = messages.scrollHeight;
}


    //before
    //requeteAjax.send();
    //after
    requeteAjax.send('id=3');
  }

祝你好运!