错误在rails中传递json(JSON :: ParserError)“757:rails中的意外标记

时间:2012-12-10 11:18:11

标签: ruby-on-rails ruby-on-rails-3 json ruby-on-rails-3.1 ruby-on-rails-3.2

我正在尝试从另一个使用json响应回调我的railsapp的url发出请求,并且我在此过程中收到以下错误

  757: unexpected token at 'https://voguepay.com/?v_transaction_id=demo-1355137288&type=json'
  json (1.7.5) lib/json/common.rb:155:in `parse'

我的控制器动作如下:

  def get_response
    @transaction_id = params[:transaction_id]
    response = JSON.parse("https://voguepay.com/?v_transaction_id=#{@transaction_id}&type=json").body
  end

知道我做错了什么

我在控制台窗口中直接尝试了网址,但我得到了同样的错误 网址是 https://voguepay.com/?v_transaction_id=demo-1345109950&type=json

1 个答案:

答案 0 :(得分:1)

我决定使用typhoeus gemyajl-ruby gem。这一切都适合我,并决定在下面分享我的解决方案。

  def notify
    @transaction_id = params[:transaction_id]
    hydra = Typhoeus::Hydra.new
    request = Typhoeus::Request.new("https://voguepay.com/?v_transaction_id=#{@transaction_id}&type=json")
    request.on_complete do |response|
      transaction = Yajl::Parser.parse(response.body)
    end
    hydra.queue(request)
    hydra.run
  end