Как настроить отображение URL после JQuery POST?
Я использую Freebase Suggest, форму поиска JQuery:
<script type="text/javascript">
$(function() {
$("#game-search").suggest({type:'/games/game'}).bind("fb-select", function(e, data) {
$("#game-id").val(data.id);
$("#game-name").val(data.name);
});
});
</script>
<form name="input" action="/game" method="post">
<input class="search-box" type="text" id="game-search"/>
<input type="hidden" name="game_id" id="game-id" />
<input type="hidden" name="game_name" id="game-name" />
<input class="button" value="Go" type="submit"/>
</form>
Этот POST вернет страницу, которая отображает игровые данные. Но я хочу, чтобы отображаемая ссылка была постоянной ссылкой на эту страницу. Прямо сейчас, независимо от того, какая игра возвращается при поиске, URL-адрес foo.com/game, но постоянная ссылка foo.com/game/id/mid (id и mid - ссылочные идентификаторы).
В моем обработчике я возвращаюсь, используя:
self.response.out.write(template.render(path,
template_values,
debug=DEBUG))
Я подозреваю, что есть способ перенаправления, но я не знаю, как.
UDPATE: не ясно, что я пытаюсь спросить / сделать. POST передает идентификатор через JQuery обработчику. Путь для POST - это / игра. Я хочу, чтобы на странице результатов отображался URL /game/id/mid, в основном я хочу создать и отобразить постоянную ссылку. Возможно, это так же просто, как создание объекта Game в POST, а затем перенаправление в GET (с использованием структуры URL-адреса с постоянными ссылками), а затем GET визуализирует шаблон.
1 ответ
Сначала вы должны настроить app.yaml:
- url: /game/(.*?)/(.*?)
script: game/yourgame.py
Затем в вашем yourgame.py перенаправьте сообщение на постоянную ссылку:
self.redirect('/game/your permalink url')