最新バージョンの search.js と api.js を使用することをお勧めします
https://github.com/Semantic-Org/Semantic-UI/blob/css/src/definitions/behaviors/api.js
https://github.com/Semantic-Org/Semantic-UI/blob/css/src /definitions/modules/search.js
API を使用すると、URL テンプレートを使用してエンドポイントを作成できます。これにより、API を 1 か所で指定し、実行時に URL 変数を置き換えることができます。
たとえば、最近のプロジェクトでは、このような API マップを使用しました
$.api.settings.api = {
emailArticle : '/api/article/ajax/{id}',
getArticles : '/api/article/{type}/{date}/{limit}/{/page}/{/filter}/',
homepageArticles : '/api/featured/{homepageID}/{lastID}',
latestArticles : '/api/next/{offset}',
search : '/api/search/{query}'
}
URL テンプレートは、URL の可変部分の文字列テンプレートを使用して機能します。
- {$variable} または {variable} を使用して必要なパラメータを指定できます。
- オプションのパラメーターは、{/$variable} または {/variable} で指定できます。
必要な変数が実行時に含まれていない場合、エラーが返されます。オプションの変数は、指定されていない場合、URL からそれ自体 (および末尾のスラッシュ) を自動的に削除します。
APIには、検索以外にも多くの用途があり、最小リクエスト時間の設定、要素へのロード状態の添付、htmlメタデータのパラメーターとしての受け渡しの許可などがありますが、これらは質問の範囲外です。
検索コンポーネントを使用。何も指定されていない場合、デフォルトで search API アクションが使用されます。
このアクションには{$query}
、クエリ パラメータをマップする場所を含める URL が必要です。
あなたの例では、デフォルトの検索エンドポイントをグローバルに設定できます。
たとえば、GET で渡す場合は、次のように使用できます。
$.api.settings.api.search = 'search/?q={$query}'
または、モジュールのカスタム API 設定を指定できます
$('.ui.search').search({ apiSettings: { url: '/search/{$query}' } });