Ax ios Post Request return Error 400, когда те же данные и URL работают с почтальоном (Django DRF ReactJS) - PullRequest
1 голос
/ 19 апреля 2020

Я создаю приложение, которое использует Django в качестве внутреннего интерфейса и ReactJS в качестве внешнего интерфейса. Я использую DRF для вызовов API от ReactJS до Django, но столкнулся с проблемой при отправке почтового запроса. Когда я отправляю почтовый запрос с соответствующими данными в формате JSON, используя ax ios в ReactJS, он возвращает код ошибки 400. Однако, когда я копирую те же самые данные JSON и использую их для отправки отправить запрос в Почтальон, ошибки не было и код был 201 (создан). Я не слишком уверен, почему существует эта проблема, и я уже установил необходимые параметры в Django settings.py, чтобы гарантировать, что разрешение предоставлено (для целей тестирования я просто установил его как «разрешить все»). Мне удалось распечатать сообщение об ошибке за неудавшимся почтовым запросом, но я не совсем понимаю, о чем говорится в сообщении об ошибке. Если есть какой-либо другой способ распечатать больше сообщений об ошибках, чтобы сообщить мне, с чего начать, пожалуйста, дайте мне знать, спасибо! Любая помощь приветствуется!

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ]
}

CORS_ORIGIN_ALLOW_ALL = True

сообщение об ошибке в консоли после 400 код ошибки

{message: "Request failed with status code 400", name: "Error", description: undefined, number: 
 undefined, fileName: undefined, …}
 message: "Request failed with status code 400"
 name: "Error"
 description: undefined
 number: undefined
 fileName: undefined
 lineNumber: undefined
 columnNumber: undefined
 stack: "Error: Request failed with status code 400↵    at createError 
 (http://localhost:3000/static/js/0.chunk.js:117160:15)↵    at settle 
 (http://localhost:3000/static/js/0.chunk.js:117381:12)↵    at XMLHttpRequest.handleLoad 
 (http://localhost:3000/static/js/0.chunk.js:116635:7)"
 config:
 url: "http://localhost:8000/api/customer-information/"
 method: "post"
 data: "{"customer_name":"test", 
 "telephone_number":"123","incorporation_country":"A","address":"B", 
 "fax_number":"123","control":"d"}"
 headers:
 Accept: "application/json, text/plain, */*"
 Content-Type: "application/x-www-form-urlencoded"
 __proto__: Object
 transformRequest: [ƒ]
 transformResponse: [ƒ]
 timeout: 0
 adapter: ƒ xhrAdapter(config)
 xsrfCookieName: "XSRF-TOKEN"
 xsrfHeaderName: "X-XSRF-TOKEN"
 maxContentLength: -1
 validateStatus: ƒ validateStatus(status)
 __proto__: Object
 code: undefined
 __proto__: Object

ax ios запрос

    onSubmit = (data) => {
        data = JSON.stringify(data);
        console.log(data);
        axios.post('http://localhost:8000/api/customer-information/', data)
            .then(response => {
                console.log(response.data);
            })
            .catch(error => {
                console.log(error.toJSON());
            })
    };
...