Wednesday 15 February 2012

jquery - Ruby JSON.parse gives unexpected token error -



jquery - Ruby JSON.parse gives unexpected token error -

i'm sending post jquery this

var authorisationtype = "payment"; var paymentdata = { cardholdername: $("#usercardname").val(), cardnumber: $("#usercardnumber").val(), expmonth: $("#userexpmonth").val(), expyear: $("#userexpyear").val(), cvv:$("#usercvv").val(), amount: "$15.00" } var postdata = new object(); postdata.username = username; postdata.type = authorisationtype; postdata.data = paymentdata; var authorisationtype = "payment"; console.log("sending username , token server"); $.ajax({ type: 'post', url: url, data: json.stringify(postdata), contenttype: "application/json; charset=utf-8", datatype: "json", success: successhandler, error: errorhandler });

to rails controller:

def authorisation_request puts "preparse" hash = json.parse(params[:username]) puts "hash" puts "username:" + json.parse(params[:username]).to_s + " type:" + json.parse(params[:type]).to_s + " data:" + json.parse(params[:data]).to_s end

and next error in console:

parameters: {"username"=>"me@example.com", "type"=>"payment", "data"=>{"cardholdername"=>"me myself", "cardnumber"=>"xxxxxxxxxxxx3456", "expmonth"=>"01", "expyear"=>"2015", "cvv"=>"999", " amount"=>"$15.00"}, "session"=>{"username"=>"me@example.com", "type"=>"payment", "data"=>{"car dholdername"=>"me myself", "cardnumber"=>"xxxxxxxxxxxx3456", "expmonth"=>"01", "expyear"=>"2015" , "cvv"=>"999", "amount"=>"$15.00"}}} preparse completed 500 internal server error in 4ms json::parsererror (757: unexpected token @ 'me@example.com'): app/controllers/sessions_controller.rb:119:in `authorisation_request'

what doing wrong?

params[:username] contains string (me@example.com) not valid json. don't need phone call json.parse on this.

jquery ruby-on-rails ruby json

No comments:

Post a Comment