我想通過查詢進行搜索,如下所示。如何編碼匹配'/ search?query = a'
http://localhost:8080/search?query=a
HTML
...
<form class="navbar-form navbar-right" name="searchform" action="/search" method="post">
<div class="form-group">
<input class="form-control" placeholder="Any keyword" type="text" name="query" />
</div>
<button class="btn btn-success" type="submit">Search</button>
</form>
...
routes.py
...
import handlers
_routes = [
RedirectRoute('/search?query=<.*>', handlers.SearchHandler, name='search', handler_method='post')
]
...
handlers.py
...
class SearchHandler(BaseHandler):
def get(self):
params = {
'query': '',
'offset': '0'
}
self.doSearch(params)
def doSearch(self, params):
docs = search.Index(name='indexed_doc')
query = params.get('query', '')
try:
offset_value = int(params.get('offset' or 0))
except ValueError:
offset_value = 0
try:
search_query = search.Query(...
結果反對: '?/搜索查詢= < *>' 在routes.py
error_handler.py:71]錯誤403:拒絕訪問此資源。
module.py:593]缺省: 「POST /搜索HTTP/1.1」 403 2555
針對結果: '/search(.*)' 在routes.py
error_handler.py:71]錯誤404:資源找不到。
module.py:593]默認:「POST /搜索HTTP/1.1」404 2543
如何爲它編碼正則表達式?或者什麼是錯的?
在此先感謝。
看來你沒有正確編寫URL。您是否嘗試首先發布固定查詢,就像在您的localstorage示例中一樣? – collapsar
您是否知道如果爲查找字符串設置僅用於/ search的路由仍然會匹配? – Greg
@collapsar是的,我有。只需並行修改查詢問題。我也會在這裏更新代碼 – tknv