现在我有 HTML 块,其中涉及一个脚本来从另一个数据库(concrete5 之外)调用数据,并且我一直在使用 XHTTP Posts 来检索数据。
问题:脚本当前存在于客户端(例如,您可以通过检查元素看到它),我认为它是从客户端设备调用的。一旦我关闭对该外部数据库的访问,这将不再起作用。我需要这些请求来自我的网站而不是客户端。
需求:我知道有一种方法可以将这些请求移动到 Concrete5 中,以便具体 5 发出请求而不是客户端。我只是不知道该怎么做。任何建议将不胜感激。
现在我有 HTML 块,其中涉及一个脚本来从另一个数据库(concrete5 之外)调用数据,并且我一直在使用 XHTTP Posts 来检索数据。
问题:脚本当前存在于客户端(例如,您可以通过检查元素看到它),我认为它是从客户端设备调用的。一旦我关闭对该外部数据库的访问,这将不再起作用。我需要这些请求来自我的网站而不是客户端。
需求:我知道有一种方法可以将这些请求移动到 Concrete5 中,以便具体 5 发出请求而不是客户端。我只是不知道该怎么做。任何建议将不胜感激。
您可以通过创建一个端点来做到这一点。它是您网站上的一个地址,在调用时会返回数据。
所以例如打电话
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/