0

我想再次向 API 发出 Ajax 搜索请求并将数据返回到我的 PHP 文件中,现在我正在使用 Javascript 和 jQuery 来完成这项工作。但我想让 PHP 完成所有工作,仅仅是因为我不想公开我的 API 密钥,而且我可能想进一步将数据兑现到数据库中。似乎它应该很简单,但我只是不知道如何清理,调用javascript并返回或如何将它与PHP“集成”。

我在 MVC 模式中做我的 PHP,如下所示:

从“主控制器/索引”调用的控制器:

class SearchController {

    public function DoControl($view, $model) {
        $ret = "";

        $ret .= $view->GetSearchForm();

        if($view->TriedToSearch()) {
            if($view->GetSearchString()) {
                $ret .= $model->CheckSearchString($view->GetSearchString());
            } else {
                // Didn't search for anything
            }
        } else {
            // Didn't press the search button
        }

        return $ret;
    }
}

我的视图正在返回一个 HTML 表单,检查是否按下了提交并返回了我发送到上面的模型的搜索字符串。

模型:

class SearchModel {

    public function CheckSearchString($searchString) {
        // 1. Call Googlebooks api with the searchstring
        // 2. Get JSON response to return to the controller
        // 3. The controller sends the data to the View for rendering
    }
}

我只是不知道该怎么做。

4

2 回答 2

1

我不完全确定,但您似乎在问如何在没有 JavaScript 的情况下执行 AJAX 请求。XmlHttpRequest你不能这样做——没有 JavaScript就不可能使用对象。据传说,这就是 AJAX 名称中“J”的由来。

听起来您需要使用REST来调用特定的 API。RESTful 状态允许您使用 Web 服务根据预定义的 API 返回特定数据。数据可以以 XML 或 JSON 格式返回。

使用 Google 提供的任何键,您都可以通过 PHP 的 cURL 实现非常轻松地做到这一点。

有关 PHP API 和示例代码的链接,请参阅 Google 的Google Books API 系列页面。

于 2013-01-06T13:01:18.440 回答
-1

下面的练习对你有用吗?如果您只想在代码中实现 ajax 功能。

简单的 AJAX - PHP 和 Javascript

我很抱歉弄错了内容。下面这两个怎么样:

来自另一个stackoverflow问题的php
PHP HTTP-Request *中的简单http请求示例

但我认为 ajax 主要是客户端程序的含义。在服务器端,只需将其称为 http 请求。

于 2013-01-06T10:41:39.997 回答