Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to post a form using fetch in react native?

I'm trying to post the form containing the first_name, last_name, email, password and password_confirmation using react-native fetch api.

fetch('http://localhost:3000/auth', {
  method: 'post',
  body: JSON.stringify({
    config_name: 'default',
    first_name: this.state.first_name,
    last_name: this.state.last_name,
    email: this.state.email,
    password: this.state.password,
    password_confirmation: this.state.password_confirmation,
  })
})

Output in Rails console

Parameters: {"{\"config_name\":\"default\",\"first_name\":\"Piyush\",\"last_name\":\"Chauhan\",\"email\":\"[email protected]\",\"password\":\"diehard4\",\"password_confirmation\":\"diehard4\"}"=>"[FILTERED]"}
Unpermitted parameter: {"config_name":"default","first_name":"Piyush","last_name":"Chauhan","email":"[email protected]","password":"diehard4","password_confirmation":"diehard4"}

So, its posting the whole value as string and rails is parsing the string as a variable. I want to strip out the "{" from the json response. How to do it ?

like image 207
Piyush Chauhan Avatar asked Jun 05 '15 09:06

Piyush Chauhan


1 Answers

so if I understand you well, you want it to post the same string but just without the curly braces?

If that's the case, you can just strip them from the string.

.replace(/{|}/gi, "")

so that would look as follows

fetch('http://localhost:3000/auth', {
method: 'post',
body: JSON.stringify({
  config_name: 'default',
  first_name: this.state.first_name,
  last_name: this.state.last_name,
  email: this.state.email,
  password: this.state.password,
  password_confirmation: this.state.password_confirmation,
  }).replace(/{|}/gi, "")
})
like image 102
rmuller Avatar answered Oct 17 '22 11:10

rmuller