如何将变量从一个php文件传递到javascript文件?

时间:2014-05-17 12:33:14

标签: javascript php jquery variables

我目前正在尝试创建一个网站,我将信息输入到我的html端,它将信息发送到php文件并根据你在html端放入的内容从另一个网站获取信息。

为了更清楚地说明这是如何运作的:

  1. 您在html网站(javascript代码所在地)输入了您的用户名 是)。
  2. 然后它将您的用户名发送到php文件。
  3. php文件获取信息,将其放入链接并请求它。
  4. 它从此请求中获取信息(高分页面)。
  5. 这就是它停止的地方。
  6. 我不知道如何将信息返回到我的javascript文件。

    这是我的代码:

    html / javascript页面:

    <html>
    <head>
     <script type="text/javascript" src="./aloticcalc_files/jquery.min.js"></script>
    </head>
    
    <body>
    <script>
       function test() { 
          var username = "Exzib";
          window.location.href = "grabinfo.php?username=" + username;
       }
    </script>
    </body>
    </html>
    

    这是我的php文件:( grabinfo.php

    <html>
    <head>
    </head>
    <?php
    $username = $_GET['username'];
    include_once('simple_html_dom.php');
    if(isset($_GET['name'])) {  
        $html = file_get_html('https://alotic.com/hs/?name='.$username);
        $xp = $html->find('td', 10);
        $formatxp = $result=str_replace(array('$',',','.',' '),'',$xp);
    
        echo $formatxp;
    }
    ?>
    <body>
    </body>
    </html>
    

    那么如何继续将$formatxp发送到我的javascript?

    由于

4 个答案:

答案 0 :(得分:3)

所以你要做的就是执行:

window.location.href = "grabinfo.php?username=" + username;

这会导致浏览器导航到grabinfo.php并显示所需的信息。除非您不希望显示信息,否则您希望将其检索到JavaScript变量中,对吗?

为此,请勿设置window.location.href。而是使用AJAX调用您的脚本。你会在那里找到很多关于AJAX的教程。这将允许您捕获PHP脚本的输出。

答案 1 :(得分:1)

更改以下行

$formatxp = $result=str_replace(array('$',',','.',' '),'',$xp);

$formatxp = str_replace(array('$',',','.',' '),'',$xp);

要将变量传递给Javascript,您可以执行以下操作。

<script type="text/javascript">

  var $formatxp = '<?php echo $formatxp; ?>';

</script>

答案 2 :(得分:1)

编写脚本标记并将变量设置为等于PHP变量。

<script>
    var thing = '<? echo $formatxp; ?>';
</script>

答案 3 :(得分:0)

这很容易,因为你已经包含了jQuery。 (使用ajax)

查找

<html>
<head>
 <script type="text/javascript" src="./aloticcalc_files/jquery.min.js"></script>
</head>
<body>
   <label>Type your username:<input id="username" type="text"></label>
   <input id="submit-button" type="button" value="Get my highscores!">
   <p id="response"></p> 
<script>
   //When user clicks "submit-button" button
   $("#submit-button").on('click', function() {
        var username = $("#username").val();
        //We request our php with the username 
        $.get("grabinfo.php?username=" + username, function(xpValue) {
             //When we receive the response from php then we add it to a "p" tag
             $("#response").text("LOL your xp is: "+xpValue+". NOOOOOOOB!!");
        });
   });
</script>
</body>
</html>

就是这样!

http://api.jquery.com/on/的更多信息 并且http://api.jquery.com/get/
http://api.jquery.com/text/
http://api.jquery.com/val

以及整个jQuery API文档http://api.jquery.com

修改
哦。您必须更改grabinfo.php。它应该只有这个:

<?php
$username = $_GET['username'];
include_once('simple_html_dom.php');
if(isset($_GET['name'])) {  
    $html = file_get_html('https://alotic.com/hs/?name='.$username);
    $xp = $html->find('td', 10);
    $formatxp = $result=str_replace(array('$',',','.',' '),'',$xp);
    if(empty($formatxp)) {
       echo "ERROR: Invalid could not find xp with username {$username}";
    }
    else { 
       echo $formatxp;
    }
}
else {
   echo "ERROR: Invalid arguments";
}