如果我不在DB上执行CRUD操作,我应该使用Web服务



我正在编写一个简单的实时搜索块插件。我通过API访问外部网站的资源,并显示与用户在输入时搜索内容的结果。我打算写一项将执行此操作的网络服务。我将作为ajax.call中的一个args之一传递用户输入,然后我的Web服务功能将返回建议的结果。我想知道使用Web服务是否需要使用Web服务,因为我没有检索或从Moodle数据库中返回任何数据,而我不想存储这些建议,而只是仅显示它们。

目前,我正在使用xmlhttprequest来调用我的插件中的内部PHP文件,该文件通过API连接并返回结果,但是我想知道是否有建议这样做的方法。

//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')
  }
}

,除非您很好地处理异常和功能,否则对于每一个ajax呼叫,都不是必不可少的。您可以使用常规XML httprequest获取数据。

相关内容

  • 没有找到相关文章

最新更新