AJAX, poprawa skrytu

0

Witam, mam takie dwa pliki:
index.php

<label>Your name: 
</label>
<span id="ajaxButton" style="cursor: pointer; text-decoration: underline">
  Make a request
</span>
<?php
    $zmienna1 = "Hello !!!";
    $zmienna2 = "Cześć !!!";
?>
 
<script>
(function() {
  var httpRequest;
    document.getElementById("ajaxButton").onclick = function() { 
      var userName = "Dane";
      makeRequest('dan.php',userName); 
  };
  function makeRequest(url, userName) {
    httpRequest = new XMLHttpRequest();
 
    if (!httpRequest) {
      alert('Giving up :( Cannot create an XMLHTTP instance');
      return false;
    }
    httpRequest.onreadystatechange = alertContents;
    httpRequest.open('POST', url);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send('userName=' + encodeURIComponent(userName));
  }
 
  function alertContents() {
  if (httpRequest.readyState === XMLHttpRequest.DONE) {
    if (httpRequest.status === 200) {
      var response = JSON.parse(httpRequest.responseText);
      alert(response.computedString);
    } else {
      alert('There was a problem with the request.');
    }
  }
}
})();
</script>

dan.php

<?php
$name = (isset($_POST['userName'])) ? $_POST['userName'] : 'no name';
$computedString = $name;
$array = ['userName' => $name, 'computedString' => $computedString];
echo json_encode($array);
?>

I teraz mam dwa pytania.

  1. Jak wartości ze zmiennych PHP, $zmienna1 i $zmienna2 "włożyć" do zmiennej JS?

  2. Jak przesłać dwie zmienne do pliku dan.php?

Z góry dzięki za pomoc

0
  1. Najszybciej ale niezbyt elegancko np. tak:
// mieszanka HTMLa/PHPa z JSem
<div><!-- kod html --></div>
<script type="text/javascript">
var zmienna1='<?php echo $zmienna; ?>';
</script>
  1. No pewnie jakoś tak:
var zmienna1='x';
var zmienna2='y';

httpRequest.send('zmienna1='+encodeURIComponent(zmienna1)+'&zmienna2='+zmienna2);

1 użytkowników online, w tym zalogowanych: 0, gości: 1