0

我一直在做一些关于从 jQuery 调用文件中的 PHP 函数的研究,并且似乎找不到正确的方法来执行此操作而不会失败。我正在尝试使用 MVVM 创建一个中间(某种)CMS,以创建一个具有 WordPress 基础的单页网站。

目前,我在尝试访问已分配文件中的 PHP 函数时遇到了一些困难,我在这里这里这里看到了有关如何使用每个文件的函数来执行此操作的示例,但我想能够在文件中调用函数,因为它给了我更清晰的概述。

我检查了链接,它是正确的,调用了 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' 被执行并返回数据?

4

1 回答 1

3

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

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

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

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

还要记住,您的输出应该被显以生成输出,而不是简单地返回。

希望有帮助,A.

于 2013-04-16T22:31:52.263 回答