我尽力找到答案,但仍然被困住了。这里是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>
答案 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
中回显它。