我刚刚迁移到django 1.5,我遇到了有关网址语言重定向的新政策的问题,我的旧Ajax POST
例如/search
最终被重定向到/en/search
当然是GET
。
如何解决这个问题(理想情况下不修改太多代码)?
答案 0 :(得分:1)
我提出了一个解决方案,我将这样的ajax帖子命名为:
url(r"^search_engine/ajax_form/$", ajax_form, name='ajax-search')
在我的模板中,我做了:
<form method="post" action="{% url 'ajax-search' %}" id="search-form">
最终在我的script.js中我做了:
var form = $('#search-form');
$.ajax({
type: 'POST',
url: $(form).attr('action'),
dataType: 'json',
data : form.serialize(),
success: function(data) {
/*stuff*/
}
});
如果在django 1.5中有更好的方法可以做到这一点,我想知道。
编辑:顺便说一下,当URL有参数时,这很痛苦。
答案 1 :(得分:0)
将URL移动到“模式”
urlpatterns = patterns('',
# urls for Ajax etc
)
urlpatterns += i18n_patterns('',
# sites urls
)