I am sending data by using ajax call to 3rd party api to see if the card supports installment, then I get a response in the payment#new
action, I just do not know how to show response on the view.
ajax call;
$.ajax({
type: "GET",
url: "/payments/new",
dataType: "json",
data: {card_digit},
success: function(data) {},
error: function(jqXHR) {}
});
payments#new
action
def new
...
...
uri = URI.parse("https://...")
https = Net::HTTP.new(uri.host,uri.port)
https.use_ssl = true
req = Net::HTTP::Post.new(uri.path, @headers)
req.body = @body.to_json
res = https.request(req)
puts "Response #{res.code} #{res.message}: #{res.body}"
end
Then here it returns res.body as json object, I would like to show this on the view I have tried to assign to a variable like @return then use it on the view but no chance, I tried with respond to block but could not manage to do it either.
EDIT
Thank you for the answer!,
But now I get error Encoding::UndefinedConversionError ("\xC4" from ASCII-8BIT to UTF-8)
res.body returns;
{"bankId":"13","bankName":"...","cardFamilyId":"..","cardFamilyName":"...","cardThreeDSecureMandatory":"0","merchantThreeDSecureMandatory":"0","result":"1","serviceProvider":"2","supportsInstallment":"1","type":"1"}
I wrote;
render json: { res_body: res.body }
and
console.log(data)
in the success function
why would it happen?
EDIT
I added
render json: { res_body: JSON.parse(res.body) }