现在我有HTML块,其中涉及一个脚本来调用来自另一个数据库(在concrete5之外)的数据,并且我一直在使用XHTTP Posts来检索数据。
问题: 脚本当前存在于客户端(例如,您可以通过检查元素看到它),我认为它是从客户端设备调用的。一旦我关闭对外部数据库的访问,这就不再适用了。我需要这些请求来自我的网站而不是客户端。
需要: 我知道有一种方法可以将这些请求移到Concrete5中,因此concrete5正在发出请求而不是客户端。我不知道该怎么做。任何建议都会非常感激。
答案 0 :(得分: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/