Jquery 将数据发送到tastypie将引发401
我试图把一些数据发送到一个tastypie poc 我设计了我的模型:Jquery 将数据发送到tastypie将引发401,jquery,django,tastypie,Jquery,Django,Tastypie,我试图把一些数据发送到一个tastypie poc 我设计了我的模型: class Category(models.Model): name = models.CharField(max_length=30) icon = models.FileField(upload_to="media/img/wish-icons/") class Wish(models.Model): content = models.CharField(max_length=140)
class Category(models.Model):
name = models.CharField(max_length=30)
icon = models.FileField(upload_to="media/img/wish-icons/")
class Wish(models.Model):
content = models.CharField(max_length=140)
category = models.ManyToManyField('wishes.Category', blank=True, null=True)
lat = models.FloatField('Latitude', blank=True, null=True)
lon = models.FloatField('Longitude', blank=True, null=True)
我有一个相关的api.py:
class CategoryResource(ModelResource):
class Meta:
queryset = Category.objects.all()
resource_name = 'category'
fields = ['name', 'icon']
class WishResource(ModelResource):
category = fields.ToManyField(CategoryResource, 'category', full=True)
class Meta:
queryset = Wish.objects.all()
resource_name = 'wish'
authorization = Authorization()
list_allowed_methods = ['get', 'post']
我可以发送GET请求来获取列表或详细信息,但当我想用jQuery和ajax发送数据时,Firebug会返回401错误
我确实喜欢这个例子,但有些地方出了问题,我不知道在哪里。这不是跨域请求,front和tastypie必须来自同一个来源
我的ajax请求如下所示:
var data = JSON.stringify({
"content": "This will prbbly be my lst post."
});
$.ajax({
url: 'http://127.0.0.1:8000/api/v1/wish/',
type: 'POST',
contentType: 'application/json',
data: data,
dataType: 'json',
processData: false
});
一切正常。
我真的不知道怎么做,我玩了身份验证、授权、文件类型、添加/删除东西,最后这是我的有效app.py
class CategoryResource(ModelResource):
class Meta:
queryset = Category.objects.all()
resource_name = 'category'
authorization = Authorization()
class WishResource(ModelResource):
categories = fields.ToManyField('wishes.api.CategoryResource', 'category', null=True, full=True)
class Meta:
queryset = Wish.objects.all()
resource_name = 'wish'
authorization = Authorization()
您可以尝试在ajax调用中放置错误处理程序,看看发生了什么。同时,您的类别资源是可选的吗?您可以在命令提示符下获取详细的错误日志。请尝试删除authorization=authorization()行。或者也将其添加到categoryResource中。@RomainBraun:添加或删除授权没有任何影响。@。类别不是必需的。我试图完全删除所有关于分类的内容,但没有任何改变。我的firebug只返回401 UNAUTHORIZED,我的django控制台给我“[07/Jan/2014 16:19:01]”POST/api/v1/wish/HTTP/1.1“401 0”,即使我设置了tastype\u FULL\u DEBUG=True:(