2012-01-29 96 views
0
$.getJSON("myurl", response); 

上面的等效回調函數版本會是什麼樣子?我試過...

$.getJSON("myurl",function(data){ 
     //manipulate data 
     return data; 
}); 

但它似乎不會產生相同的結果。

我正在使用JQuerys AutoSuggest庫,並試圖在發送之前處理從服務器接收到的響應。

+1

你所看到的不同行爲是什麼? – 2012-01-29 14:55:35

+0

當你說不一樣的結果時,你能更具體嗎?您使用的回調格式在我使用它時起作用。 – 2012-01-29 14:59:11

回答

3
$.getJSON ("myurl", function (data) 
{ 
     // manipulate data 

     response (data); 
}); 
0

在第一種情況下,您傳遞發送到服務器的數據。在第二種情況下,您傳遞成功回調。第一次使用時無法制作「等效回調版本」。見jQuery.getJSON

0

的回調將是相同的,但你可以操縱不同的方式處理數據,例如:

正如你指定的兩種類型,看看情況1和2

的情況下1:

//start and receive callback 
function send() 
{ 
    var v = $("element").attr("value"); 
    $.getJSON("page.php",{ v:v }, responseData); 
    return false; 
} 

//manipulate callback data 
function responseData(data) 
{ 
    $("#results").html("Name: " + data.name + "<br/>" + "Lastname: " + data.lastname); 
} 

的情況下2:

$.getJSON ("page.php", function (data) 
{ 
    $("#results").html("Name: " + data.name + "<br/>" + "Lastname: " + data.lastname); 
}); 

希望這有助於。

問候。