如何在ruby on rails上的另一个应用程序中调用一个应用程序中的
我想调用该方法并从我的应用程序中获取
Ruby on Rails技术中的另一个应用程序的响应,但是这里存在跨站点脚本问题.所以,我可以解决这个问题,请帮助我,这将是伟大的.
http://video_tok.com/courses/get_course def get_course @course = Course.find(params[:id]) end 现在我想从这个在edupdu.com域中运行的应用程序调用上面的方法 http://edupdu.com/call_course_method def call_course_method @course = redirect_to "http://video_tak.com/courses/get_course/1" end 但它会重定向到video_tak.com应用程序. 提前致谢. 解决方法
跨域AJAX确实是一个问题,但没有一个无法解决.在你的get_course方法中,你可以将课程对象作为JSON响应返回,如下所示:
render json: @course 从那里你可以通过JavaScript(AJAX)检索课程,在这里你应该使用JSONP或通过发出HTTP GET请求在Rails中. > AJAX与JSONP 有JSONP(带填充的JSON),这是一种JavaScript程序的通信技术,用于提供从不同域中的服务器请求数据的方法.看着
> HTTP GET请求 只需使用Net :: HTTP类: require 'net/http' require 'json' url = URI.parse('http://video_tak.com/courses/get_course/1') req = Net::HTTP::Get.new(url.to_s) res = Net::HTTP.start(url.host,url.port) do |http| http.request(req) end course_json = JSON.parse(res.body) 如果您为模型提供了将JSON转换为您的域对象的方法,则可以从那里获取它. RPC 您也可以使用RPC来调用不同Ruby进程之间的方法,尽管我建议这一点至少我不想省略它.有几个远程过程调用(RPC)库. Ruby标准库提供了DRb,但也有基于Ruby on Rails的实现,例如rails-xmlrpc gem允许您基于XML-RPC协议实现RPC或使用JSON与json-rpcj的替代协议 在搜索Rails RPC时,您可能会发现更多的库.从您选择的任何库中,具体的解决方案都会有所不同. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |