如果我不对数据库执行 CRUD 操作,我应该使用 Web 服务吗?
Should I use a web service if I am not performing CRUD operations on DB?
我正在编写一个简单的实时搜索块插件。我通过 API 访问外部网站的资源,并显示与用户键入的搜索内容相匹配的结果。
我打算编写一个 Web 服务来执行此操作。我会将用户输入作为 ajax.call 中的参数之一传递,然后我的 Web 服务函数将 return 建议的结果。
我想知道是否有必要使用 Web 服务,因为我没有从 Moodle 数据库中检索或 returning 任何数据,而且我不想存储建议而只是显示它们。
现在我正在使用 XMLHttpRequest 在我的插件中调用内部 php 文件,该文件通过 api 和 returns 结果连接,
但我想知道是否有推荐的方法来做到这一点。
//the ajax call
ajax.call([{
methodname: 'block_xxxx_loadpages',
args: {userinput: userinput},}])
// the webservice function
class 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')
}
}
moodle 中的每个 ajax 调用都不是强制性的,除非您很好地处理异常和功能。
您可以使用常规 XML HttpRequest 来获取数据。
我正在编写一个简单的实时搜索块插件。我通过 API 访问外部网站的资源,并显示与用户键入的搜索内容相匹配的结果。 我打算编写一个 Web 服务来执行此操作。我会将用户输入作为 ajax.call 中的参数之一传递,然后我的 Web 服务函数将 return 建议的结果。 我想知道是否有必要使用 Web 服务,因为我没有从 Moodle 数据库中检索或 returning 任何数据,而且我不想存储建议而只是显示它们。
现在我正在使用 XMLHttpRequest 在我的插件中调用内部 php 文件,该文件通过 api 和 returns 结果连接, 但我想知道是否有推荐的方法来做到这一点。
//the ajax call
ajax.call([{
methodname: 'block_xxxx_loadpages',
args: {userinput: userinput},}])
// the webservice function
class 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')
}
}
moodle 中的每个 ajax 调用都不是强制性的,除非您很好地处理异常和功能。 您可以使用常规 XML HttpRequest 来获取数据。