如何使用JS从PHP文件运行特定的功能

时间:2016-12-05 18:39:08

标签: javascript php

我尽力找到答案,但仍然被困住了。这里是PHP初学者。 我知道我可以使用xmlhttprequest或ajax从我的js代码调用我的php文件。

让我说我的php文件中有各种类和函数,我想运行" nameColor"用我的js代码函数。

public function nameColor($playerlvl, $monsterlvl) {
      if ($playerlvl === $monsterlvl) {
        $this->colorToPlayer = "white";
      } else if ($playerlvl < $monsterlvl) {
        $this->colorToPlayer = "red";
      } else if ($playerlvl > $monsterlvl) {
        $this->colorToPlayer = "blue";
      }
    }

所以我需要为我的函数设置attributs并运行它以获得结果。我如何进入js?

我的js代码就是(调用我的PHP文件并将一些数据附加到html页面):

<script>
function getInfoPHP () {
    $.ajax({
      url:"l2charcreation.php", //the page containing php script
      type: "GET",
      success:function(result){
      $('.newCharacterInfo').append(result);
     }
   });
}

</script>

1 个答案:

答案 0 :(得分:0)

您可以像这样向ajax添加数据:

function getInfoPHP () {
    $.ajax({
      url:"l2charcreation.php", //the page containing php script
      type: "GET",
      data: {func: 'getColor', attr1: '5', attr2: '4'},
      success:function(result){
      $('.newCharacterInfo').append(result);
     }
   });
}

然后在l2charcreation.php中,您必须根据$_GET['func']的值在函数之间切换,并从$_GET['attr1']提供属性,依此类推。之后你需要在php中回显结果,你将在你的js中收到它。简化示例:

function foo($a1) {
    echo 'processed foo'.$a1;
}

function bar() {
    echo 'processed bar';
}

switch($_GET['func']) {
case 'foo':
    foo($_GET['attr1']);
    break;
case 'bar':
    bar();
    break;
default :
    echo 'function not found';
}

一般的想法是这样的: 假设您只有两个文件:

  • index.html(一个包含你的js)
  • l2charcreation.php(一个有很多php功能的人)

并且您希望从l2charcreation.php中的js访问index.html中特定php函数生成的数据。 所以你在js中使用ajax函数 - 它在后台连接到服务器并要求l2charcreation.php使用函数的名称和它指定的参数(在GET或POST中)。服务器响应的方式与访问此文件的浏览器的响应方式类似,因此如果要将某些数据传递给index.html中的js,则需要在l2charcreation.php中回显它。