Endy Santoso
Endy Santoso

Reputation: 631

Always failed when POST data with json (body: raw)

I'm have trouble when send data to my server. I'm working with react native & axios ver ^0.16.2

let input = {
  'longitude': -6.3922782,
  'latitude': 106.8268856,
  'content': 'uget - uget sampai kaki lemes',
  'pictures': []
}

  axios({
    method: 'POST',
    url,
    headers: {
      'Content-Type': 'application/json',
      'Authorization': this.state.headers.authorization
    },
    data: input
  })                                                                     
  .then((resultAxios) => {
    console.log('hasil axios', resultAxios)
  })

and the status result always error 500.

If I try send data with postman, everything is fine. In postman, I set

headers: {
  Authorization: ''',
  Content-Type: application/json
}

body = raw, JSON

postman setting

How can solve this problem? Thanks :)

Upvotes: 3

Views: 5953

Answers (2)

Davide Castronovo
Davide Castronovo

Reputation: 1396

I've found that axios have some problem in the processing of json for body try this:

let input = 'longitude=-6.3922782&latitude=106.8268856&content="uget - uget sampai kaki lemes"&pictures=[]';

  axios({
    method: 'POST',
    url,
    headers: {
      'Content-Type': 'application/json',
      'Authorization': this.state.headers.authorization
    },
    data: input
  })                                                                     
  .then((resultAxios) => {
    console.log('hasil axios', resultAxios)
  })

and the status result always error 500.

If I try send data with postman, everything is fine. In postman, I set

headers: {
  Authorization: ''',
  Content-Type: application/json
}

body = raw, JSON

Upvotes: 1

RenRock
RenRock

Reputation: 173

@Davide

That is correct, its an Axios bug I found as well..

AND the errors I found were CORS preflight errors, which had NOTHING to do with the actual problem

** FAIL **

Axios({
method: "post",
url: "https://localhost:44394/EXAMPLE/",
data: jsonPayload,
headers: { "Content-Type": "application/json" }
})

** SUCCESS **

Axios({
method: "post",
url: "https://localhost:44394/EXAMPLE/",
data: JSON.Stringify(jsonPayload),
headers: { "Content-Type": "application/json" }
})

Upvotes: 1

Related Questions