2017-11-11 2 views
0

반응을 통해 POST 요청을 요청하려고하는데, error.If가 나에게 도움이된다고 알려 주면 변경해야하는 부분을 도와주세요.react.js를 통해 POST 요청을하는 방법은 무엇입니까?

오류 : {타임 스탬프 : 1510396949738, 상태 : 415, 오류 : "지원되지 않는 미디어 예외 :"org.springframework.web.HttpMediaTypeNotSupportedException "메시지 :"콘텐츠 유형 'multipart/form-data; - 웹 ... daryTY6125I1exH8Ry7f, 캐릭터 세트는 = UTF-8 '지원되지 않습니다 ", ...} 여기

코드 반작용의 나 :. fetch#post 요청에서

import React from 'react'; 
import RaisedButton from 'material-ui/RaisedButton'; 
import TextField from 'material-ui/TextField'; 
const style = { 
    margin: 15, 
marginLeft: 600 
}; 
export default class Register extends React.Component { 
    constructor(props) { 
    super(props); 
    this.onSubmit=this.handleSubmit.bind(this); 
} 
handleSubmit(e) { 
    e.preventDefault(); 
    var self = this; 


    var data = new FormData(); 
    const payload = { 
    id: self.refs.id.getValue(), 
    studentName: self.refs.sname.getValue(), 
    age: self.refs.age.getValue(), 
    emailId: self.refs.emailId.getValue() 
}; 
data.append("myjsonkey", JSON.stringify(payload)); 

fetch('http://localhost:8083/students/', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json' 
    }, 
    body: data 
    }) 
    .then(function(response) { 
     return response.json() 
     }).then(function(body) { 
     console.log(body); 
     }); 
    } 

render() { 
    return (
     <form onSubmit={this.onSubmit}> 
     <div style={style}> 
     <TextField ref='id' 
     hintText="Enter Student id" 
     floatingLabelText="id" 
     /> 
     <br/> 
     <TextField ref='sname' 
     hintText="Enter your Last Name" 
     floatingLabelText="StudentName" 
     /> 
     <br/> 
     <TextField ref='age' 
     hintText="Enter your Age" 
     floatingLabelText="age" 
     /> 
     <br/> 

     <TextField ref='emailId' 
     hintText="Enter your Email" 
     floatingLabelText="emailId" 
     /> 
     <br/> 
     <br/> 
     <input type="submit" /> 


     </div> 
      </form> 


    ); 
    } 


} 
+0

오류 메시지에 _UserAlreadyExistException_이 표시됩니다. 이게 문제가 아닌가? – mersocarlin

+0

@mersocarlin 아니 그게 문제가 아니지만, 그 메시지를 보여주는 기본. –

+0

왜 당신은 심판을 사용하고 있습니까? 그것은 depricated 대신에 [ref에 대한 함수를 전달해야합니다] (https://reactjs.org/docs/refs-and-the-dom.html#adding-a-ref-to-a-dom-element) –

답변

0

body가 누락을

body이 있어야한다 당신의 case.Or에서 FormData의 인스턴스는 더 Fetch를 들어 등

var data = new FormData(); 
const payload = { 
    id: self.refs.id, 
    studentName: self.refs.sname, 
    age: self.refs.age, 
    emailId: self.refs.emailId 

}; 
data.append("myjsonkey", JSON.stringify(payload)); 

fetch('http://localhost:8083/students/', { 
    method: 'POST', 
    body: data 
}) 

... ArrayBuffer, Blob/File 같은 다른 유형의 인스턴스가 될 수 있습니다.

+0

@RIYAZ KHAN 지금 상태 : 415, 오류 : "지원되지 않는 미디어 유형"이 표시 될 수 있습니다. –

관련 문제