有没有办法通过jQuery使用JavaScript访问PHP类方法?

有没有办法通过jQuery使用JavaScript访问PHP类方法?,php,jquery,Php,Jquery,我有一个JavaScript脚本: $("#feedbacksubmit").click(function() { if($("#frmfeedback").valid()) { var tname = $("#name").val(); var temail = $("#email").val(); var tphone = $("#phone").val(); var tcontent = $("#content

我有一个JavaScript脚本:

    $("#feedbacksubmit").click(function() {
    if($("#frmfeedback").valid()) {
        var tname = $("#name").val();
        var temail = $("#email").val();
        var tphone = $("#phone").val();
        var tcontent = $("#content").val();
        var tsend = $(this).attr('ts');
        $.post ( "bll/index.php",
                {  action: 'mailfeedback', name: tname, email: temail, phone: tphone, content: tcontent, send: tsend },
                function(data) {                    
                    $('.msgbox').html(data);
                    $("#frmfeedback")[0].reset();
            });         
        return false;       
    }
});

但是,我正在尝试查看是否有一种方法可以直接从脚本访问
bll/index.php
类方法,而不是发布参数来访问它。

php作为HTTP请求的一部分在服务器上运行。页面加载后,JavaScript(和ajax)在客户端上运行。如果您想在页面加载后根据页面上表单的内容在PHP中生成新数据,您必须像现在这样通过ajax与PHP进行交互

您可以将其抽象出来,但最终仍将使用
$.post()
或类似工具。

您可以使用更结构化的方式向服务器发送调用。但这也意味着您必须在服务器端使用RPC服务器(或者至少有一些解析RPC的功能,应该有一些适用于PHP的功能)

取决于您使用此功能的程度,这可能有点过分,您仍然需要使用
.post()
.get()
.ajax()

来自维基百科:

--> { "method": "echo", "params": ["Hello JSON-RPC"], "id": 1}
<-- { "result": "Hello JSON-RPC", "error": null, "id": 1}
JSON-RPC是一种用JSON编码的远程过程调用协议。它是一个非常简单的协议(非常类似于XML-RPC),只定义了少数数据类型和命令。与XML-RPC或SOAP不同,它允许服务和客户机之间的双向通信,将彼此视为对等方,并允许对等方相互调用或向彼此发送通知。它还允许向对等方发送多个呼叫,这些呼叫可能会被无序应答

消息结构示例(也来自维基百科):

-->{“方法”:“echo”,“参数”:[“Hello JSON-RPC”],“id”:1}

听起来你好像对网络开发感到困惑

JavaScript(除非指定)是一种“客户端”语言,这意味着它在编译页面并从服务器发送后在客户端浏览器上运行。这意味着代码中没有PHP/ASP,只有HTML和JavaScript

PHP、ASP、JSP是仅在服务器端运行的服务器端语言。 所以要回答您的问题,不,您不能直接让JavaScript调用PHP(服务器端)函数,但您可以发布到PHP页面,然后该页面将执行您喜欢的任何函数

现在,如果你说这是可能的(尽管不推荐),那么我的答案是:——

通过使用,可以从JavaScript调用PHP方法。通过设置XML-RPC服务器(一个PHP页面),然后在JavaScript中访问该服务器,可以使用JavaScript远程调用PHP方法。有PHP XML-RPC库和JavaScript XML-RPC.js文件

在计算机科学中,一切皆有可能。


谷歌搜索更多细节。

不,JS是客户端站点,PHP是服务器站点。看:我知道,我只是在想,如果我们可以发布,也许我们也可以调用一个函数,你想把一个字符串传递给服务器并计算它?听起来很危险。@Felix Kling dude使用xmlrpc是可能的。@Piemions:有不少人问他们是否可以从JS调用PHP,但不知道客户端和服务器站点之间的区别。XML-RPC、JSON-RPC或任何其他形式的RPC只是一种更结构化的数据传输形式。您仍然必须以某种方式发布参数。您不能直接从JS调用PHP函数。如果PHP领域中有类似于JavaRMI的项目可以通过网络进行直接的对象到对象的通信,那将是一件有趣的事情。这意味着[反]序列化层位于客户端和服务器端,服务器端对象的存根在客户端Javascript中可用。在计算机科学中,一切都是可能的。不,不是。听说过停车问题吗?;)@费利克斯·克林(Felix Kling)认为计算机科学有一个术语“例外……”:-P