Тело запроса JQery AJAX пусто. (Джанго отдых в Докере) - PullRequest
0 голосов
/ 07 марта 2019

Загрузка шаблона index.html с JS, который находится в каталоге / static.

Javascript (app.js):

    var obj = new Object();
    obj.startTime = "123";
    obj.endTime = "456";
    console.log("fetchNext "+JSON.stringify(obj));
    var data1 = {"name":"John Doe"}

    $.ajax({
        url:"http://localhost:8000/api/time/",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(obj),
        success: function(data){

            console.log(data);
        }
    });
}

Он работает с API-интерфейсом REST Django, ноТело пусто.

class QueryTime(APIView):
    def get(self, request, format=None):
        data = "false"
        jsonstr = request.body.decode('utf-8')
        # jsonstr is empty.

Что я здесь не так делаю?Я установил CORS и попытался исправить это или нет, и не повезло.И я получаю эти результаты.

web_1  | [07/Mar/2019 17:36:52] "GET / HTTP/1.1" 200 314
web_1  | [07/Mar/2019 17:36:52] "GET /static/app.js HTTP/1.1" 304 0
web_1  | 
web_1  | [07/Mar/2019 17:36:52] "GET /api/time/?{%22startTime%22:%22123%22,%22endTime%22:%22456%22} HTTP/1.1" 200 7

Не уверен, что представляют эти коды состояния.Любое предложение будет оценено!

1 Ответ

0 голосов
/ 07 марта 2019

Я вижу что-то странное в твоем API, поэтому я работаю вот так

class MODELAPI2(viewsets.ModelViewSet):
    queryset = MyModel.objects.none()
    serializer_class = MyModel_Serializer
    filter_backends = (DjangoFilterBackend,)
    filter_class = MyModel_Filter
    permission_classes = (IsAuthenticated,)


    def get_queryset(self):

       param1 = self.request.query_params.get('param1')
       param2 = self.request.query_params.get('param2')
       argumentos = {}
        if param1 != '':
            argumentos['param1'] =param1
        if param1 != '':
            argumentos['param2'] = param2
       query = Mymodel.objects.filter(**argumentos)
       return query

и ajax.method:"GET", data:{'param1':param1,'param2':param2}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...