Как исправить net :: ERR_CONNECTION_REFUSED и Ошибка: ошибка сети в рабочем проекте Reactjs, Django, Django Rest Frame

Я пытаюсь передать данные из responsejs в django через django rest api методом post, но возникает эта проблема. Я протестировал метод отправки через графический интерфейс Django-REST Api, он отлично работает.

Код моего компонента Reactjs:

import React, {Component} из 'response' import './Register.css'; импортировать axios из 'axios'

const REGISTER_URL = 'http://127.0.0.1:8000/api/register/?format=json '// получил api ulr ...

const initiaState = {имя пользователя: '', электронная почта: '', пароль: ''}

class Register расширяет Component {

constructor(){
    super()

    this.myRegister = React.createRef()
}


state = {
    ...initiaState
}


changeHandler = (event) => {

    this.setState({
        [event.target.name]: event.target.value
    })

}

submitHandler = (event) =>{
    event.preventDefault()
    console.log(this.state)
    this.myRegister.current.reset()
    this.setState({
        ...initiaState
    });
    axios.post(REGISTER_URL,this.state)
    .then(res =>{
        console.log(res)

    })
    .catch(error =>{
        console.log("ERROR::: "+error)
    })
}

render(){

    return(
        <div className="Register-box">

        <form ref = {this.myRegister} className="Form" onSubmit={this.submitHandler }>
            <div className ="form-group ">
              <label htmlFor="username" > Name: </label>
               <input
               className = "from-control ml-4"
               type="text" 
               placeholder = '  Enter Your Name '
               name = "username"
               id = "username"
               value = {this.state.name} 
               onChange = {this.changeHandler}
               />
            </div>

            <div className ="form-group">
              <label htmlFor="email" > Email: </label>
               <input 
               className = "from-control ml-4" 
               type="text" 
               placeholder = '  Enter Your Email '
               name = "email"
               id = "email"
               value = {this.state.email} 
               onChange = {this.changeHandler}
               />
            </div>

            <div className ="form-group">
              <label htmlFor="password" className="mr-4"> Password: </label>
               <input
               className = "from-control ml-2" 
               type="password" 
               placeholder = '  Enter Your Password '
               name = "password"
               id = "password"
               value = {this.state.password} 
               onChange = {this.changeHandler}
               />
            </div>



            <button className = "btn btn-primary" type="submit" value="Submit"> Submit </button>
        </form>



        </div>

    );

}

}

экспортировать регистр по умолчанию;


person Jabir_Hstu    schedule 18.01.2019    source источник
comment
поскольку вы запрашиваете POST, вам необходимо проверить способ отправки токена csrf, вы можете начать проверку документации для этого: django-rest-framework.org/topics/ajax-csrf-cors   -  person Nazkter    schedule 19.01.2019


Ответы (1)


Ошибка - это ошибка подключения к серверу. Убедитесь, что вы правильно запустили свой сервер.

  1. Убедитесь, что ваш IP-адрес правильный или нет
  2. Поскольку вы запускаете свой сервер Django в режиме отладки / тестирования. Запустите сервер с помощью python manage.py runserver 0.0.0.0:8000, здесь 8000 - номер порта.
person Sharif Chowdhury    schedule 19.01.2019