gpt4 book ai didi

javascript - 使用 Ajax 和 Javascript 从 html 按钮运行 php 文件

转载 作者:行者123 更新时间:2023-12-02 23:38:10 25 4
gpt4 key购买 nike

我有一个 php 函数,我想从我有的 Html 按钮运行它。php 函数与 Html 按钮位于不同的文件中。

所以我成功地做到了这一点:

<input type="submit" name="test" id="bt1" value="RUN" /><br/>

但这不是我想做的。我想用以下方式调用 php 函数:

<button id="bt1" class="button button5">< Random </button>

因为还有其他操作需要与按钮同时运行。

旁注:我的 php 函数从 json 文件获取信息。

我有 3 个文件。

文件 1 (AF.php) 这是按钮所在的位置文件 2(Display.php) 这是我的 jquery/javascript/ajax 脚本所在的位置文件 3(Names.php) 这是 php 函数所在的位置。我想使用文件 1 中的按钮来运行文件 3 中的 php 函数。

这是我迄今为止尝试过的:

文件1(AF.php)

 button id="bt1" class="button button5">< R30K</button>

文件2(Display.php)

$(document).ready(function () {
$("#bt1").on("click", (function () {
getName("Names.php");
})
});
function getName(Names.php) {
$.ajax({
url:"Names.php" + Names.php,
success:function (Names.php) {
$("#res" + Names.php).html(result)
}
});

文件3(Names.php)

<?php

function group1(){
$jsondata = file_get_contents("Clients.json");
$json = json_decode($jsondata, true);
$output = '<ul>';
foreach($json['Reps']as $reps){
$output .='<h4>' .$reps['Client']."<h4>";
$output .= "<li>".$reps['repCode']."</li>";
}

$element = $json['Reps'][array_rand($json['Reps'])];
echo $element['Client'];
echo " ";
echo $element['repCode'];
}

if(array_key_exists('bt1',$_POST)){
group1();
}

?>

期望的结果是我可以使用文件 1 中的 Html 按钮运行文件 3 中的函数。

非常感谢您的帮助。

最佳答案

带有该按钮的 HTML 和 jQuery 代码必须位于浏览器加载的同一个文档中,可以将它们放在同一个文件中,也可以使用 php include/require。

该 jQuery 代码将无法运行,因为您将“Names.php”放在任何地方(为什么?)。试试这个:

$( function(){
$("#bt1").click(function() {
$.ajax({
url: 'Names.php',
type: 'get',
success: function(data) {
$("#res").html(data);
},
});
});
});

这会将 ajax 响应字符串放入任何具有 id="res" 的元素中。

代码经过测试并且可以工作。

编辑:

我刚刚注意到您在 php 脚本中使用 $_POST 来检查按钮是否被单击,因此您必须修改 jQuery ajax 函数:

type: 'get', 更改为 type: 'post',

'type: 'post'之后添加data: 'bt1=1',

关于javascript - 使用 Ajax 和 Javascript 从 html 按钮运行 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com