路由不适用于我的 AJAX 请求
Routing not working for my AJAX request
我目前有一个 url 模式定义如下:
url(r'^potato/(?P<slug1>[-\w])/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
在我看来有一个函数:
def potatoajax(request):
print 'Potato Ajax'
if request.method == 'POST':
print 'more potatoes'
else:
print 'dont print Potato AJax'
我的ajax请求如下:
var url = 'potatoajax/';
$.ajax({
url: url,
data: {
'hello': 'hello world',
'csrfmiddlewaretoken': getToken(),
},
type: 'POST',
dataType: 'json',
success: function (data) {
$('#message').html(data.message);
}
但是,我的请求一直收到 404 =(我强烈怀疑这与我在 url 模式中的路由有关,但不知道如何更正此问题。
这是错误信息:
POST http://localhost:8000/potato/potato1/potato2/potatoajax/ 404 (Not Found)
如果我按照建议修改url如下:
url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
由于 /potato/potato1/potato2/potatoajax/ 处的类型错误,我得到了 500 POST
potatoajax() 得到了一个意外的关键字参数 'slug2'。
然而,这是另一个问题,所以如果需要,我会 post 另一个问题。
在你的urls.py
你没有 slug1 的乘数
url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
您的观点将接受另外两个参数作为。
def potatoajax(request, slug1, slug2):
print 'Potato Ajax'
if request.method == 'POST':
print 'more potatoes'
else:
print 'dont print Potato AJax'
我目前有一个 url 模式定义如下:
url(r'^potato/(?P<slug1>[-\w])/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
在我看来有一个函数:
def potatoajax(request):
print 'Potato Ajax'
if request.method == 'POST':
print 'more potatoes'
else:
print 'dont print Potato AJax'
我的ajax请求如下:
var url = 'potatoajax/';
$.ajax({
url: url,
data: {
'hello': 'hello world',
'csrfmiddlewaretoken': getToken(),
},
type: 'POST',
dataType: 'json',
success: function (data) {
$('#message').html(data.message);
}
但是,我的请求一直收到 404 =(我强烈怀疑这与我在 url 模式中的路由有关,但不知道如何更正此问题。
这是错误信息:
POST http://localhost:8000/potato/potato1/potato2/potatoajax/ 404 (Not Found)
如果我按照建议修改url如下:
url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
由于 /potato/potato1/potato2/potatoajax/ 处的类型错误,我得到了 500 POST potatoajax() 得到了一个意外的关键字参数 'slug2'。
然而,这是另一个问题,所以如果需要,我会 post 另一个问题。
在你的urls.py
你没有 slug1 的乘数
url(r'^potato/(?P<slug1>[-\w]+)/(?P<slug2>[-\w]+)/potatoajax/$', views.potatoajax, name='potatoajax'),
您的观点将接受另外两个参数作为。
def potatoajax(request, slug1, slug2):
print 'Potato Ajax'
if request.method == 'POST':
print 'more potatoes'
else:
print 'dont print Potato AJax'