2012-03-02 65 views
1

解决如何从Ruby on Rails调用外部PHP脚本?

我敢新手,林心如和我需要检索从外部PHP脚本的一些信息,但我不知道如何从我的Ruby on Rails的aplication通过预期的数据呼叫剧本。

在AJAX它会是这样的:

$.ajax({ 
    type: "POST", 
    url: "http://externalurl/script.php", 
    cache: false, 
    data: "myData", 
    success: function(result){ 
      doSomething(result) 
    } 
}); 

我可以使它通过网:HTTP?

在此先感谢。

解决

我经过比预期的PHP脚本参数较少。

由此得到的代码是一样米奇说:

uri = URI('http://externalurl/script.php') 
res = Net::HTTP.post_form(uri, {'param1' => 'v1', 'param2' => 'v2', 'param3' => 'v3', 'max' => '50'}) 
puts res.body 

非常感谢!

+0

当你说外部...这个脚本是在同一台服务器上,还是在其他地方? – Brad 2012-03-02 18:54:44

+0

其他地方。也许这是一个问题,不是吗? :( – Rocks 2012-03-02 19:39:51

+0

不,一点也不。我问的原因是许多人认为他们必须发出一个HTTP请求来调用本地PHP脚本,实际上通常是直接执行PHP更快。 – Brad 2012-03-02 21:05:07

回答

0
uri = URI('http://www.example.com/search.cgi') 
res = Net::HTTP.post_form(uri, 'q' => 'ruby', 'max' => '50') 
puts res.body 

在api上有很好的文档here

+0

我已经试过了,但是它的响应只是带有IIS主页面链接的默认页面。如果我只是把我的浏览器中的网址,我会得到同样的结果。 – Rocks 2012-03-02 19:16:10