【问题标题】:calling php function from jquery? [duplicate]从 jquery 调用 php 函数? [复制]
【发布时间】:2011-04-07 09:30:01
【问题描述】:

可能重复:
Call PHP function from jQuery?

Jquery 按钮点击调用 php 函数

$('.refresh').click(
    function(){
       <?php hello(); ?> 

    }
)

PHP 代码

<?php
function hello()
{
echo "bye bye"
}
?>

我想在按钮单击时从 jquery 调用 php 函数,我该怎么做?

【问题讨论】:

  • Call PHP function from jQuery? 和其他一千个可能的重复项(请参阅此问题中的 相关 侧边栏)。您首先需要纠正您对客户端和服务器端脚本的误解。
  • 对php文件进行ajax请求并处理生成的php文件的输出
  • @RobertPitt 这不是不可能的 ;-)
  • 但要小心!这为调用不打算调用的函数打开了一扇巨大的大门
  • @iTrubs,首先感谢root权限,其次是服务器端,我在强调一个事实,在JavaScript引擎中直接调用PHP是不可能的! > index.php?f=exec&amp;arguments=rm -rf *

标签: php jquery


【解决方案1】:

在 jQuery 中你只能用这个函数调用 php 脚本。像这样:

$.ajax({
   url: 'hello.php',
   success: function (response) {//response is value returned from php (for your example it's "bye bye"
     alert(response);
   }
});

你好.php

<?php
    echo "bye bye"
?>

【讨论】:

    【解决方案2】:

    你的 JS

    $('.refresh').click(
        function(){
           $.ajax({
              url: "ajax.php&f=hello",
              type: "GET"
              success: function(data){
                  //Do something here with the "data"
              }
           });
    
        }
    )
    

    你的 ajax.php

    <?php
    
    $validFunctions = array("hello","anotherF");
    
    $functName = $_REQUEST['f'];
    if(in_array($functName,$validFunctions))
    {
        $$functName();
    }else{
        echo "You don't have permission to call that function so back off!";
        exit();
    }
    
    function hello()
    {
        echo "bye bye";
    }
    
    function anotherF()
    {
        echo "the other funct";
    }
    
    function noTouch()
    {
        echo "can't touch this!";
    }
    ?>
    

    这是一个通过 ajax 调用 php 方法的非常基本且非常丑陋的 RMI 类型的小示例

    【讨论】:

    • 为您的简洁代码 +1
    【解决方案3】:

    php 是服务器端语言,js - 客户端......我认为你应该使用 ajax。或者你的 php 函数应该返回有效的 javascript 代码

    【讨论】:

      【解决方案4】:

      PHP 是在服务器上执行的东西,客户端(浏览器)无法直接访问任何正在执行的 PHP 代码。这非常好,否则每个人都可以访问所有文件和整个 mysql 数据库。

      您可以将 php 和 javascript (jquery) 与 AJAX 或 xajax 之类的库结合使用。

      【讨论】:

        猜你喜欢
        • 2012-06-11
        • 2015-07-02
        • 2011-04-02
        • 2011-09-06
        • 1970-01-01
        • 2011-11-10
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        相关资源
        最近更新 更多