2012-03-02 55 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