2012-01-29 135 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); 
}); 

希望这有助于。

问候。