用jQuery调用PHP函数

时间:2013-04-16 22:25:44

标签: php jquery wordpress

我一直在研究如何在jQuery文件中调用PHP函数,似乎无法在没有失败的情况下找到正确的方法。我正在尝试使用MVVM创建一个中间(种类)CMS来创建一个带有WordPress基础的单页网站。

目前我正在尝试在分配的文件中访问PHP函数,我已经看到了关于如何使用示例hereherehere使用每个文件的函数来完成它,但我希望能够在文件中调用函数,因为它给了我更清晰的概述。

我检查了链接并且它是正确的,PHP文件名为posts.php,它位于window.MODELS定义的位置,但函数fetch_all未执行。

的JavaScript

//call php function
var requestURL = window.MODELS + 'posts/fetch_all';

$.get(requestURL, function(data){
    console.log('checking data: ', data);
}, 'json')
    .done(function(passed){
        console.log('it worked!');
    })
    .fail(function(failed){
        console.log('it failed :( ');
    });

PHP

public function fetch_all(){
    return json_encode("this is fetch_all..."); //replace text to get all posts with get_posts()
}  

控制台显示JavaScript失败:“它失败了:(”。如何让'fetch_all'执行并返回数据?

1 个答案:

答案 0 :(得分:3)

您从jQuery 调用的URL必须匹配服务器上.php文件的位置,例如,要调用的正确URL是:

var requestURL = window.MODELS + 'posts.php?action=fetch_all';

然后,在PHP文件中,您必须根据查询参数选择要调用的函数。您可以在函数声明后添加此代码,以便根据'action'查询参数调用正确的函数:

if ($_REQUEST['action'] == 'fetch_all')
    echo fetch_all();
else
    echo json_encode( array( 'status' => 'error') );

另外请记住,您的输出应该回显以生成输出而不是简单地返回。

希望它有所帮助, 甲