单击加载PHP文件

时间:2017-07-25 09:50:23

标签: javascript php database

我无法解决的任务是在点击按钮时将PHP文件加载到JavaScript文件中。 我不希望PHP或结果显示在页面上。我只想访问PHP文件生成的结果字符串。

我知道JS是客户端和PHP服务器端,但是在开始时加载我需要的所有PHP文件会导致分解。

下面的片段显示了我现在的表现。 不幸的是,这并不好用,到目前为止还没有任何按钮直接参与。 (见:MIME type error when loading data

db2js.php (从数据库中提取数据并将其转换为类似JSON的字符串)

<?php    
    CONNECTING TO DATABASE
    QUERY
    $result=RESULT OF QUERY LOOKING LIKE JSON
    echo 'db_output='.$result;    
?>

index.html (需要数据的文件)

<html>
    <head>
        <script language="JavaScript" src="db2js.php"></script>
    </head>
    <body>
        <script language="JavaScript">
            var JSON_db_output = JSON.parse(db_output);
            document.write(dbausgabe);
      </script>
    </body>
</html>

4 个答案:

答案 0 :(得分:0)

执行以下操作:

<html>
  <head>
    <script language="JavaScript">
      <?php    
        CONNECTING TO DATABASE
        QUERY
        $result=RESULT OF QUERY LOOKING LIKE JSON
        echo 'var db_output='.$result;    
      ?>
    </script>
  </head>
  <body>
    <script language="JavaScript">
      var JSON_db_output = JSON.parse(db_output);
      document.write(dbausgabe);
    </script>
  </body>
</html>

答案 1 :(得分:0)

为什么你不能使用ajax

在html代码中添加带有id或类

的按钮
<input type ="button" id="myphploader">

<div id="div1" style="visibility:hidden"></div>

假设您将php文件设为"file1.php",请使用此javascript函数

        <script src="js/modernizr-2.js"></script>
        <script src="js/owl.js"></script>
        <script src="js/jquery.js"></script>

        <script src="js/jquery_002.js"></script>

        <script type="text/javascript">
            jQuery(document).ready(function ($) {

              $("#myphploader").click(function () {

    $.ajax({
    type: "POST",
    url: "file1.php", // your php file
    data: { variable1: variable1}, // incase you want to pass an value to  php file
    cache: false,
    success: function(html)
    {
    $("#div1").html(html).show();




  }
  });


  });

 });
    </script>

您可以使用

从“div1”获取结果
document.getElementById("div1").innerHTML

答案 2 :(得分:0)

如果您了解jQuery并且可以使用Ajax,请尝试使用

的index.html

<html>
    <head>
        <title>TITLE</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>
    <body>
        <script>
            $(document).ready(function(){
                $.ajax({
                    type: "POST",
                    url: "db2js.php",
                    success: function(response){
                        console.log(response);
                        document.write(response);
                    },
                    dataType: 'json'
                });
            });
        </script>
    </body>
</html>

db2js.php

<?php
    $arr = array('a', 'b', 'c');
    $json = json_encode($arr);
    echo $json;
    exit();
?>

答案 3 :(得分:0)

根据您的要求 AJAX是最佳解决方案 。您可以通过以下代码段获得想法:

bpGraph = {0: [0, 2, 1], 1: [2, 1, 1], 2: [0, 0, 2]}

希望此代码段可以帮助您解决问题。 如有任何需要,请告诉我。