0

我刚刚迁移到 django 1.5,我面临着关于 url 语言重定向的新政策的问题,POST例如,我的旧 Ajax/search最终被重定向到/en/searchGET。如何解决这个问题(最好不要修改太多代码)?

4

2 回答 2

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 有参数时,这很痛苦。

于 2013-06-03T14:30:38.393 回答
0

在 urls.py 中用于 Ajax 请求将 url 移动到“模式”

urlpatterns = patterns('',
   # urls for Ajax etc
)
urlpatterns += i18n_patterns('',
    # sites urls
)
于 2013-06-03T13:46:01.963 回答