通过AJAX将PHP变量发送到JavaScript

时间:2017-02-13 15:41:27

标签: javascript php ajax

我正在编写一个程序,它将在JavaScript和PHP页面上生成随机数,并将它们显示在JavaScript / Html页面上。

到目前为止,我已经成功生成了两个页面的数字,但我不知道如何从JavaScript页面到外部PHP页面以获取数字并将其存储到JS变量中。

这是我到目前为止所拥有的。

JavaScript的:

function roll()
    {
        var rollOne; //= Math.floor((Math.random() * 6) + 1);
        var rollTwo;
        var request = new XMLHttpRequest();

        request.open("GET", "filename.php", true);
        request.send();                 
    }

我知道JS随机被注释掉了,现在不重要了。

PHP:

<?php
    sleep(5);
    $random =(rand(1,6));
    echo $random;
?>

那么如何从php文档中获取$ random,将其发送到JavaScript页面,并将其存储到变量中以便以后访问?

我确信在此网站上已经有数千次问过类似的问题,但是根据我搜索过的内容,我找不到任何对我有意义的问题。

2 个答案:

答案 0 :(得分:2)

Mozilla docs on AJAX解释得很清楚。在调用.open.send之前,设置一个XMLHttpRequest函数,以便在响应从服务器返回时运行:

request.onreadystatechange = function() {
  if (request.readyState === XMLHttpRequest.DONE) {
    // The request is complete
    if (request.status === 200) {
      // Server responded with HTTP status code 200 (OK)
      // Here's your server's random value
      random = request.responseText;
    } else {
      alert('There was a problem with the request.');
    }
  }
}

答案 1 :(得分:0)

您可以访问返回数据的responseText值。换句话说,您从php回显的数据可以使用responseText在您的javascript中访问并存储在变量中。