0

现在我有 HTML 块,其中涉及一个脚本来从另一个数据库(concrete5 之外)调用数据,并且我一直在使用 XHTTP Posts 来检索数据。

问题:脚本当前存在于客户端(例如,您可以通过检查元素看到它),我认为它是从客户端设备调用的。一旦我关闭对该外部数据库的访问,这将不再起作用。我需要这些请求来自我的网站而不是客户端。

需求:我知道有一种方法可以将这些请求移动到 Concrete5 中,以便具体 5 发出请求而不是客户端。我只是不知道该怎么做。任何建议将不胜感激。

4

1 回答 1

0

您可以通过创建一个端点来做到这一点。它是您网站上的一个地址,在调用时会返回数据。

所以例如打电话

www.domain.com/api/getusers{id}

可以为用户返回一个 JSON 对象。

一个简单的例子。

在您的 application/bootstrap/app.php 文件中,您可以添加。

Route::register(
  '/api/getusers/{id}',
  'application\Controller\endpoints::getUsers'
);

然后在 application/controllers/endpoints.php 中添加一个控制器

<?php
namespace Application\Controller;

use Concrete\Core\Controller\Controller;
use \Concrete\Core\Http\Request;

class Endpoints extends Controller {

    /* Get all a Regions Expeditions */

    public function getUsers()
    {
      $id = Request::getInstance()->get('id');
      $userid = $th->sanitize($id);

            /* Do something with $id */

      echo json_encode($output);
    }
}
?>

更多信息可以在这里找到http://c5hub.com/learning/ajax-57-style/

于 2016-12-21T10:19:37.627 回答