User Serializer показывает ноль в AJAX выборке, но показывает данные в DRF - PullRequest
0 голосов
/ 07 апреля 2020

Ниже приведены данные моего сериализатора для текущего пользователя

serializers.py

class UserDetailSerializer(serializers.ModelSerializer):
  class Meta:
    model = User
    fields = [
      'id',
      'username',
      'email',
      'first_name',
      'last_name',
    ]

views.py

class UserViewSet(APIView):
  def get(self, request):
    serializer = UserDetailSerializer(request.user)
    return Response(serializer.data)

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^user/', accounts_views.UserViewSet.as_view()),
]

собирается http://localhost: 8000 / пользователь / показывает правильное Данные JSON / API:

{
    "id": 1,
    "username": "stormadmin",
    "email": "",
    "first_name": "",
    "last_name": ""
}

, но когда я пытаюсь использовать ajax для извлечения данных:

  async getUser() {
    const response = await fetch('http://127.0.0.1:8000'+'/user/');
    const resData = await response.json();
    return resData;
  }

Вместо этого я получаю:

{id: null, username: ""}

Мой вопрос: как мне получить данные, которые я хочу, с помощью AJAX вызова? Или есть лучший способ сделать это?

1 Ответ

2 голосов
/ 07 апреля 2020

Вы должны использовать то же доменное имя - http://localhost:8000/user/

Django использует куки для получения пользователя, а повар ie привязан к имени домена

...