Как поместить переменную в строку в .open ("GET", "[...]") - PullRequest
1 голос
/ 22 апреля 2019

Мне нужно поместить переменную в 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();
  }

Можно ли отправить мою переменную $id_event моего .php в файл js?

После этого мне нужно поместить эту переменную в URL ...

1 Ответ

0 голосов
/ 22 апреля 2019

На самом деле, если я хорошо понимаю вашу проблему, вы хотите добавить параметр в 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');
  }

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...