我正在编写一个简单的实时搜索块插件。我通过 API 访问外部网站的资源,并显示与用户在键入时搜索的内容相匹配的结果。我正计划编写一个可以执行此操作的 Web 服务。我将用户输入作为 ajax.call 中的参数之一传递,然后我的 Web 服务函数将返回建议的结果。我想知道是否有必要使用网络服务,因为我没有从 Moodle 数据库检索或返回任何数据,我不想存储建议而只显示它们。现在我正在使用 XMLHttpRequest 在我的插件中调用一个内部 php 文件,该文件通过 api 连接并返回结果,但我想知道是否有推荐的方法来做到这一点。//the ajax callajax.call([{ methodname: 'block_xxxx_loadpages', args: {userinput: userinput},}])// the webservice functionclass block_xxxx_external extends external_api { //parameters public static function loadpages() { return new external_function_parameters ( array('userinput' => new external_value(PARAM_TEXT, 'the user input')) ); } //the function public static function loadpages($userinput = 'userinput') { //parameter validation $params = self::validate_parameters(self::hello_world_parameters(), array('userinput' => $userinput)); //connect to api and return the result page matching the userinput return $result; } public static function loadpages_returns() { return new external_value(PARM_TEXT, 'the result') }}
1 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
除非您很好地处理了异常和功能,否则对于moodle 中的每个ajax 调用都不需要Web 服务。您可以使用常规 XML HttpRequest 来获取数据。
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消