我的HTML到webapp2搜索表单不起作用

时间:2013-03-14 22:27:03

标签: jquery python html google-app-engine webapp2

我的搜索字词作为空字符串传递给我的处理程序。这是组件:

html表格:

<form class="navbar-search" action="/search">
                <input type="text" class="search-query span3 ajax-typeahead" placeholder="Search" data-link="/typeahead" name="searchQuery"  autocomplete="off" />
                <button class="btn btn-primary" style="margin-top: 0px;" type="submit">
                    <i class="icon-search icon-white"></i>
                </button>
            </form>

jaery for typeahead:

<script type="text/javascript">
            $(document).ready(function() {
                $('.ajax-typeahead').typeahead({
                    source: function(query, process) {
                        return $.ajax({
                            url: $(this)[0].$element[0].dataset.link,
                            type: 'get',
                            data: {query: query},
                            dataType: 'json',
                            success: function(json) {
                                return typeof json.options == 'undefined' ? false : process(json.options);
                            }
                        });
                    }
                });
            });
        </script>

python webapp2 handler:

class SearchHandler(webapp2.RequestHandler):
    def get(self, searchQuery):
        self.response.out.write('Term: %s' % searchQuery)

app = webapp2.WSGIApplication([('/search(.*)', SearchHandler)],
                              debug=True)

结果:

enter image description here

我似乎无法找到问题,谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

RequestHandler执行此操作:

class SearchHandler(webapp2.RequestHandler):
  def get(self):
    searchQuery = self.request.get('searchQuery')
    self.response.out.write('Term: %s' % searchQuery)

您将查询参数与URL映射混淆。

同样在Python中,我建议你对变量使用lower_case_underscore约定。