【问题标题】:Click on the button to run the php function (without refreshing the page)点击按钮运行php函数(不刷新页面)
【发布时间】:2020-01-13 06:28:25
【问题描述】:

我想让ab按钮在不刷新页面的情况下执行功能。

问题是当我在index.php或其他页面调用这个函数时,这个函数一打开页面就起作用了。但是我想要做的页面应该有一个按钮,当我点击按钮时该功能应该起作用。

我该怎么做?

function insta_login() {

    require __DIR__ . '/vendor/autoload.php';

    \InstagramAPI\Instagram::$allowDangerousWebUsageAtMyOwnRisk = true;

    $username = 'xxxxx';
    $password = 'xxxxx';

    $ig = new \InstagramAPI\Instagram();

    try {
        $ig->login($username, $password);
    } catch (\Exception $e){
        echo $e->getMessage();
    }
}

【问题讨论】:

  • PHP 在服务器上运行,这意味着您的 HTML 表单(客户端)需要向服务器发送请求。现在,如果您想在不刷新浏览器的情况下执行此操作,请研究一种称为 AJAX 的技术。

标签: php ajax function button refresh


【解决方案1】:

PHP 是超文本预处理器,这意味着它将处理文件、执行 PHP 脚本并将处理后的响应发送到客户端。因此,即使在页面加载之前,不属于任何函数/类等的纯 PHP 代码也将始终执行。最好的选择是在单独的文件中声明 PHP 函数。然后为您的按钮分配一个单击处理程序,并使其向 PHP 发送 Ajax 请求。如果您使用的是 JQuery,则可以使用 $.ajax() 轻松完成

【讨论】:

    【解决方案2】:

    使用 javascript setTimeout(function(){ alert("Hello"); }, 3000); 函数。 或者您可以使用此功能document.readyState === 'complete' 检查页面是否已加载然后执行操作。 像这样包起来

    if(document.readyState === 'complete') {  //Your code here.... }
    

    【讨论】:

    • 如何解决“应该有一个按钮,当我点击按钮时该功能应该起作用”?
    • 据我了解,当 index.php 文件打开时,页面应该显示两个按钮。当您单击时,该功能将运行。对于单击功能发送ajax请求并将请求发送到您要执行的功能,您还可以添加settimeout来延迟结果。
    • 看起来 OP 甚至没有这些按钮(至少他没有为它们发布相关代码)并且您不需要 Javascript 来简单地在页面上显示两个按钮
    猜你喜欢
    • 2012-12-08
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多