【发布时间】:2019-11-22 20:58:55
【问题描述】:
我正在尝试从我的前端调用我的 Django 项目的 API 端点。
端点位于 URL /tst/。我需要从该端点检索数据,以便用该数据填充我的页面。
我为此使用了 ajax 请求,但我不断收到错误 400 - BAD REQUEST,但我不知道为什么会发生这种情况,因为 API 端点位于正确的 URL。
function doPoll(){
$.post('http://localhost:8000/tst/', function(data) {
console.log(data[0]);
$('#data').text( data[0].data);
setTimeout(doPoll, 10);
});
}
我的端点视图:
class tstList(generics.ListCreateAPIView):
queryset = tst.objects.using('screener').all()
serializer_class = tstSerializer
models.py
class tst(models.Model):
ticker = models.CharField(max_length=15)
Price = models.FloatField()
def save(self, *args, using=None, **kwargs):
super(tst, self).save(*args, using='screener', **kwargs)
json 看起来像这样:
{"ticker":["TEST"],"Price":["4847"]}
我在回复中得到了什么:
{"ticker":["This field is required."],"Price":["This field is required."]}
【问题讨论】:
-
您正在发布到该 URL,但您没有发送任何数据。也许您打算使用
$.get? -
如果您收到 400 BAD REQUEST,请查看响应的正文。它将解释为什么 Django REST 框架拒绝了该请求。
-
@DanielRoseman 你是什么意思?
-
感谢@Linovia,现在正在调查
-
正是我所说的。您正在发送 POST。一个帖子用于提交数据到后端,但你不发送任何数据;无论如何你都想检索数据。使用
$.get()。
标签: javascript python django ajax django-rest-framework