|  |      1zzNucker      2013-08-23 17:18:38 +08:00 可能是alert的时候get还没取回结果 后面那个例子的alert是放在回调函数里的 | 
|  |      2reloop OP | 
|  |      3reloop OP | 
|  |      4davepkxxx      2013-08-23 17:30:09 +08:00  1 用$.ajax代替$.get,async设为false。 | 
|  |      5reloop OP @davepkxxx  改成这样 , 还是不能返回 function findQuery2(nameId) { $.ajax({ async:false, type: "POST", dateType:"XML", url: "search.xml", success: function(searcher){ var query=""; $(searcher).find("item").each(function(){ if( $(this).find("name").attr("id") == nameId ) { query = $(this).find("query").text(); alert(query); //这个能显示正确结果 } }); return query; }, error: function() { } }); } $(document).ready( function (){ $(".searcher").click(function(){ var nameId = $(this).attr("way"); var query = findQuery2(nameId); alert(query); //这个还是不行 })} ) | 
|  |      6davepkxxx      2013-08-23 18:00:10 +08:00  1 在$.ajax之前设置声明一个变量,在ajax的callback中为这个变量赋值,$.ajax之后在函数中return这个变量。 |