React Ajax 400 Плохой запрос на Rails-React - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь отправить некоторые данные через \appointments через запрос POST для моей функции handleFormSubmit. Но по какой-то причине я всегда получаю 400 Bad Request Error:

Вот мой Appointments.jsx файл:

import React from 'react';
import Appointment from './Appointment';
import AppointmentForm from './AppointmentForm';
import AppointmentsList from './AppointmentsList';

class Appointments extends React.Component {

   constructor(props) {
     super(props)

     this.state = {
       appointments: this.props.appointments,
       title: 'Put your event title',
       appointment_date: 'When would this happen?'
    };

    this.handleUserInput = this.handleUserInput.bind(this)


   }

   handleUserInput(obj_value){
    this.setState(obj_value);
  }

  handleFormSubmit(){
    let apppointment = { 
      title: this.state.title, 
      appointment_date: this.state.appointment_date 
    };

       $.ajax({
           type: "POST",
            url: '/appointments',
            data: { apppointment }, 
            success: function(data){
              console.log(data); 
            }
          });
  }


   render(){
     return(
      <div>
        <AppointmentForm title={this.state.title} 
         appointment_date={this.state.appointment_date} 
         onUserInput={this.handleUserInput}
         onFormSubmit={this.handleFormSubmit}
         />
        <AppointmentsList appointments={this.props.appointments} />
     </div>
     )
   }
}

export default Appointments;

Я пока не уверен, но думаю, что это как-то связано с этим код:

 $.ajax({
           type: "POST",
            url: '/appointments',
            data: { apppointment }, 
            success: function(data){
              console.log(data); 
            }
          });

Есть идеи, что мне нужно сделать, чтобы это исправить?

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

На вкладке сети вы должны выбрать почтовый запрос, а затем go для параметров, которые вы отправляете, и проверить, отправляете ли вы данные и правильная ли это структура. Вот как это выглядит на Chrome там, где вы проверяете отправляемые данные This is how it looks on Chrome Попробуйте изменить свой handleFormSubmit

handleFormSubmit() {
  let apppointment = JSON.stringify({
    title: this.state.title,
    appointment_date: this.state.appointment_date
  })
    $.ajax({
    url: '/appointments',
    type: "POST",
    data: apppointment,
    contentType: 'application/json'
  })
}
0 голосов
/ 10 апреля 2020

meaby вы можете попробовать с топором ios instance ajax

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