如何使用ajax在另一个php文件中调用一个函数 $(文档).ready(函数(){ $(“#金额”)。在('单击',函数()上{ var金额=此值; $.ajax({ url:“ipg util.php/createHash”, 键入:“post”, 数据:{“金额”:金额 }, 成功:函数(响应){console.log(响应);} }); }); });

如何使用ajax在另一个php文件中调用一个函数 $(文档).ready(函数(){ $(“#金额”)。在('单击',函数()上{ var金额=此值; $.ajax({ url:“ipg util.php/createHash”, 键入:“post”, 数据:{“金额”:金额 }, 成功:函数(响应){console.log(响应);} }); }); });,php,jquery,Php,Jquery,您只需将方法作为数据属性的一部分传递给调用,如下所示: <script> $(document).ready(function(){ $("#amount").on('click', function(){ var amount = this.value; $.ajax({ url: "ipg-util.php/createHash", type

您只需将
方法作为
数据
属性的一部分传递给调用
,如下所示:

<script>    

        $(document).ready(function(){
        $("#amount").on('click', function(){
            var amount = this.value;
            $.ajax({
            url: "ipg-util.php/createHash",
             type: 'post',
              data: { "amount": amount
             },
                 success: function(response) { console.log(response); }
                });     

        });

    });
</script>

$.ajax调用服务器上下文或URL,调用特定“操作”的任何内容。您需要的是以下代码,如下所示:

    <?php
        $callable = isset($_POST['callable']) ? $_POST['callable'] : "default";
        $amount   = isset($_POST['amount'])   ? $_POST['amount']   : null;

        switch($callable){
            case "createHash":
                $response = createHash(); // CALL createHash METHOD DEFINED HEREIN
                break;
            case "doAnotherThing":
                $response = doAnotherThing(); // CALL doAnotherThing METHOD DEFINED HEREIN
                break;
            default:
                $response = default(); // CALL default METHOD DEFINED HEREIN
                break;

        }

        die(json_encode($response));

        function createHash(){

        }


        function doAnotherThing(){

        }


        function default(){

        }
在服务器端,应该读取action POST参数,相应的值应该指向要调用的方法,下面的代码用于执行此操作:

$.ajax({ url: '/demo/websitepage',
         data: {action: 'calltofunction'},
         type: 'POST',
         success: function(output) {
                  alert(output);
                  }
});

希望这将是一个更好的参考:

您必须调用ajax Respone中的另一个函数,对吗:)您从未提到您的问题是关于在帖子中发送邮件。无论如何,如果您使用类进行邮件发送。您可能需要在ipt-util.php中包含类文件。但在我的stackoverflow账户中,每天只允许问一个问题。我在函数中包含了所有Php mailer类文件。但它显示了相同的错误“无法实例化邮件函数”。@Princeslilly。备选方案也是Poiz的解决方案我在下面的回答中提到了一种更简单的发送电子邮件的方法:好的。。。检查一下答案@Princeslilly还有一个疑问,我不能从本地主机发送邮件。我在php.ini和sendmail.ini中尝试了许多设置。我也尝试了这个链接[但仍然显示错误“无法实例化邮件功能”你从来没有提到过你的问题是关于在你的帖子中发送邮件。无论如何,如果你使用类来发送邮件。你可能需要
在ipt-util.php中包含
类文件。还有一个疑问,我不能从localhost发送邮件。我在php.ini和sendmail.ini中尝试了许多设置。我也尝试了这个链接[但仍然显示错误“无法实例化邮件功能”。你能帮我吗?你从来没有提到过你的问题是关于在帖子中发送邮件。不管怎样,如果你使用类来发送邮件。你可能需要
在ipt util.php中包含
类文件。@Princeslilly。有一些方法可以使用send grid或mailgun从本地主机发送电子邮件。参考:谢谢你Naresh!我尝试发送网格。但它显示错误
401HTTP/1.1 401未经授权的服务器:nginx日期:Mon,2016年9月19日06:55:31 GMT内容类型:application/json内容长度:88连接:keep-alive X-Frame-Options:DENY{“errors”:[{“message”:“权限被拒绝,错误凭据”,“字段”:null,“help”:null}
$.ajax({ url: '/demo/websitepage',
         data: {action: 'calltofunction'},
         type: 'POST',
         success: function(output) {
                  alert(output);
                  }
});
if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch($action) {
        case 'calltofunction' : test();break;
        case 'blah' : blah();break;
        // ...etc...
    }
}