Как исправить ошибку "500 POST-запрос?"в axios с использованием Vue, js и django web dev Iam также использует загрузчик webpack - PullRequest
0 голосов
/ 13 октября 2019

В веб-приложении django я пытаюсь отправить запрос в API, используя axios и внешний интерфейс Vue.js. Я всегда сталкиваюсь со следующей ошибкой, когда пытаюсь добавить нового потребителя:

Тип исключения: IntegrityError в / api / consumer /

Значение исключения: ограничение NOT NULL не выполнено: api_consumer. имя

import axios from 'axios'

export default {

  postConsumer(method, params , data){
    if(method==='post'){
    return ajax('api/consumer/','post', {data})
    }
  }
}
/*
*@param url
*@param method
*@param params
*@param data
*@returns
 */
function  ajax(url,method,options) {
  if (options !== undefined){
    var {params = {}, data = {}} = options
  }else {
    params= data = {}
  }
return new Promise((resolve ,reject)=>{

  axios({
     url,
    method,
    params,
    data
  }).then(res=> {
    resolve(res)
  }, res =>{
  reject(res)
  })
})
}
<template>
    <div id="new" align="center">
    <form  @submit.prevent="postNewConsumer" align="center" >

  <input type="text" name="name" id="name" v-model="formData.name" value="" placeholder="Name">
  consumer type:
    <select  id="newType" v-model="formData.consumer_type">
      <option disabled value="">select type</option>
  <option value="low">low</option>
  <option value="high">high</option>
  <option value="extra">extra_high</option>
    </select>
  <input type="submit" value="ADD">
    </form>
    </div>
  </div>
</template>

<script>
  import axios from 'axios'

    import api from '../api'
    export default {

        name: 'consumersList',
        data() {
            return {
                msg: '',
                formData: {
                    name: '',
                    consumer_type: ''
                },
                consumers: [],
                search: '',
                selected: ''
            }
        },

        methods: {

            postNewConsumer(){
                 axios.defaults.xsrfCookieName = 'csrftoken'
                 axios.defaults.xsrfHeaderName = "X-CSRFTOKEN"
                api.postConsumer('post', null , this.formData).then(res => {

                }).catch((e)=>{

                })
            }
        },


        }

Я пытаюсь опубликовать информацию о потребителе в API (уже использую django), но у меня всегда есть 500 откликов, когда я пытаюсь опубликовать сообщения с помощью axios и ajax

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