为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
千巷猫影 2021-06-18 09:04:36
我有一个 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 运行我的函数。
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

带有该按钮的 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".


代码已经过测试并且有效。


编辑:


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


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


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


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信