2012-04-05 29 views
0

我一直在努力尋找flickr搜索一段時間。最初我用PHP檢索XML文件並將其轉換爲simpleXML,但我無法通過Javascript訪問信息來構建指向圖像的鏈接。非常令人沮喪!Flickr使用Javascript以json格式進行圖像檢索

因此,我決定通過放棄PHP和交換到javascript獲取使用json的鏈接來簡化它。

  1. 我在將文本輸入到文本框中以填充flickr請求時遇到問題。

  2. 當我在此鏈接中手動使用文本字詞時,它將檢索沒有圖像的圖像框。當我點擊圖像框時,Flickr的鏈接工作。

我在做什麼錯了?

任何幫助將非常感謝,因爲我已經嘗試了3-4種不同的方式,現在仍然覺得我無處可去!

感謝 邁克

<script type = "text/javascript"> 
     function jsonFlickrApi(rsp){ 
      window.rsp = rsp; 

      var display = ""; 

      // loop through the objects to build the images from the json response 

      for(var i=0; i<rsp.photos.photo.length; i++){ 
       photo = rsp.photos.photo[i]; 

      // use the various elements of the json object to build the link 

       details_url = "http://farm" +photo.farm+ "static.flickr.com/" +photo.server+ "/" +photo.id+ "_" +photo.secret+ "_" + "t.jpg"; <!-- get 
       owner_url = "http://www.flickr.com/photos/" + photo.owner + "/" + photo.id; 
       display += '<a href="' + owner_url + '">' + '<img alt="'+photo.title + '"src="' + details_url + '"/>' + '</a>'; 
      } 
      // display the images 
      document.writeln(display); 

     } 

    </script> 

這是一個Flickr搜索

<!-- the form is supposed to take a request from the user --> 

<form id="flickr_form"> 
    <input type="text" name="search" id="search"/> 
    <input type="submit" value="Search"/> 

</form> 
<script src = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=0a109e625227a913ef57ac207f1af24f&text="+document.getElementById("search").value+"&per_page=10&format=json"> 

    </script> 

回答

0

1)你的JS命令在腳本的src行中沒有被執行。我可以建議,讓搜索框的值到URL中的兩個備選方案:

  • 既然你提到的PHP,爲什麼不直接使用表單提交正常使用GET(方法=「GET」),構建從src網址那?你可以用<?=urlencode($_GET['search'])?>代替"+document.getElementById("search").value+",這應該是一個開始。該頁面會比JS加載多一次,但這可能是解決這個問題的最快捷方式。這只是爲了測試的目的,但在實際的網站上,這隻會是不好的風格。
  • 或者,您可以編寫一個函數以在提交表單時執行,例如,如<form onsubmit='load_flickr(this);return false;'>,您應該可以在load_flickr之內訪問this.search.value,從中構建flickr請求URL,然後加載該腳本。

2)什麼是在details_url行的末尾<!-- get?我假設這只是在這裏複製粘貼錯誤,而不是在你自己的代碼中。

3)也許最重要的錯誤:你在你的圖像URL(farmX.static.flickr.com沒有farmXstatic.flickr.com):-)

失蹤前的「靜態」一個句號
相關問題