2011-03-27 35 views
0

我在某些方面有些不高興,所以我想知道是否有人可以幫助我希望的是一個簡單的問題。獲取雅虎管道腳本的用戶輸入

我開發了一個雅虎管道,它將一個標籤的名稱作爲輸入。然後這應該運行雅虎管道來生成輸出。

下面是我從雅虎管道頁面運行雅虎管道時生成的一段代碼。

現在我的問題是我想從我自己的網站運行此管道,並讓用戶輸入他們想要的標籤,而不是讓他們離開網站並轉到雅虎管道頁面。

<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">{"pipe_id":"6c3a35f3d8e3cdb8ef270a3565d64ca3","_btype":"list","pipe_params":{"tags":"Cooking Beef Chicken"},"width":"600","height":"500"}</script> 

我想用戶填寫和代碼生成從輸入上面的腳本代碼和執行有一個簡單的形式。

我希望我已經解釋過,因爲它有點混亂。總結一下,我如何從網頁上的用戶那裏獲得關於他們想要運行管道的標籤併爲其生成正確的代碼並執行的輸入。

回答

1

這是一個三部分組成的招,如果您使用服務器端腳本

信息從一個普通的形式返回到它來自網頁發送和從URL中提取像這樣

enter <?php $userInput = $_GET["userInput"]); ?>here 

現在,可以將userInput寫入到一個javascript src URL中,該URL用於對管道進行跨域調用。

enter <script src="http://pipes.yahoo.com/pipes/pipe.run?_id=050fc8ccfefd18420680a86ebf4bf80e&_render=json&_callback=cbfunc&town=<?php echo $userInput; ?>"></script> here 

當管道返回它包裝它周圍的「回調」標籤中的數據,在這種情況下,所謂的cbfunc,這是用來觸發在頁面頭部的JavaScript例程提取數據的JSON字符串爲你做你想要的東西。

enter function cbfunc(data){ 
    var data  = (data.value.items[0].content) 
       } here 

你可以看到這個動作在http://bishop-test.appspot.com/工作的例子,當你點擊地圖搜索。此鏈接對於查看JSON輸出也很有幫助http://braincast.nl/samples/jsoneditor/

+0

謝謝,這非常有幫助 – DarkUFO 2011-08-08 06:27:39