【发布时间】:2016-08-27 16:42:13
【问题描述】:
我通过使用 ajax 调用向 3rd 方 api 发送数据以查看卡是否支持分期付款,然后我在 payment#new 操作中得到响应,我只是不知道如何在视图上显示响应。
ajax 调用;
$.ajax({
type: "GET",
url: "/payments/new",
dataType: "json",
data: {card_digit},
success: function(data) {},
error: function(jqXHR) {}
});
payments#new 操作
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
然后在这里它返回 res.body 作为 json 对象,我想在视图上显示这个我试图分配给像 @return 这样的变量然后在视图上使用它但没有机会,我尝试响应块但也无法做到。
编辑
感谢您的回答!,
但现在我收到错误Encoding::UndefinedConversionError ("\xC4" from ASCII-8BIT to UTF-8)
res.body 返回;
{"bankId":"13","bankName":"...","cardFamilyId":"..","cardFamilyName":"...","cardThreeDSecureMandatory":"0","merchantThreeDSecureMandatory":"0","result":"1","serviceProvider":"2","supportsInstallment":"1","type":"1"}
我写的;
render json: { res_body: res.body }
和
成功函数中的console.log(data)
为什么会这样?
编辑
我加了
render json: { res_body: JSON.parse(res.body) }
【问题讨论】:
标签: jquery ruby-on-rails ajax