2010-04-07 28 views
0

我想弄清楚爲什麼我的$ .getJSON方法似乎沒有工作,但$ .ajax工作得很好。首先,這是我的getJSON電話:JSON中的JSON/JSON

$.getJSON("http://localhost:1505/getServiceImageList?callback=loadImagesInSelect", loadImagesInSelect); 

你可以看到我已經試過直接添加回調參數的查詢字符串(也嘗試過不上串),我加入到中定義的回調方法的引用我的js文件。

這裏是$就調用,它工作得很好:

function getImages() { 
      $.ajax({ 
       type: "GET", 
       url: $('#txt_registry_url').val(), 
       dataType: "jsonp", 
       success:loadImagesInSelect , 
       error:function (xhr, ajaxOptions, thrownError) { 
        alert(xhr.status); 
        alert(thrownError); 
       } 

      }); 
     } 

在這個例子中的URL從文本框拉是一樣的,在直調用的getJSON。當方法調用完成時,調用successMethod並且一切都處理得很好。

雖然我很喜歡使用這兩種方法中的後者,但文檔使getJSON看起來是首選的速記方式。

任何人都可以請解釋我缺少的速記方法,使其一切工作?

在此先感謝。

回答

0
$.getJSON("http://localhost:1505/getServiceImageList?data=yes&callback=?", loadImagesInSelect); 

function loadImagesInSelect(json) { 
    //whatever you want on success 
} 

然後服務器端用php(注:我添加數據到GET查詢字符串)

$data = getDataAsJSON($_GET['data']); 
echo $_GET['callback'] . '(' . $data . ');'; 

getJSON需要看到「callback =?」

我會堅持與$ .ajax

+0

感謝,似乎工作時,我用我的回撥方法替換? – dotnetgeek 2010-04-08 17:06:48

0
從我的理解,你需要使用

$.getJSON("http://localhost:1505/getServiceImageList?callback=?", loadImagesInSelect); 

jQuery將照顧給名字回調,然後在轉移呼叫到loadImagesInSelect

我希望這將有助於 傑羅姆WAGNER