首页 新闻 搜索 专区 学院

ajax问题

0
悬赏园豆:5 [已解决问题] 解决于 2011-04-06 10:51

这样可以:

 

代码
$(function () {
var stockInfoJson;
$.ajax({
type:
"GET",
url:
"Ajax_Data.aspx",
dataType:
"html",
data:
"",
success: function (msg) {
stockInfoJson
= msg;
alert(stockInfoJson);
}
});
});

 

这样就不行

 

$(function () {
var stockInfoJson;
$.ajax({
type:
"GET",
url:
"Ajax_Data.aspx",
dataType:
"html",
data:
"",
success: function (msg) {
stockInfoJson
= msg;
}
});
      alert(stockInfoJson);

});

 

为什么 我的alert 写在外面就不行呢?(写在里面可以值,写在外面就没有了)

like%'远远'%的主页 like%'远远'% | 小虾三级 | 园豆:635
提问于:2011-02-22 18:10
< >
分享
最佳答案
0

因为ajax是异步的,你alert的时候ajax根本没返回

收获园豆:5
Gray Zhang | 专家六级 |园豆:17610 | 2011-02-22 18:16
我是将返回的值 放到这个变量里面了 (stockInfoJson ) 我在外面应该是可以alert的啊
like%'远远'% | 园豆:635 (小虾三级) | 2011-02-22 18:43
换种容易理解的说法吧 1、你是一个老板,某天你要一个东西 2、你拿了一只箱子,放在桌子上(var stackInfoJson) 3、然后你叫来一个小弟($.ajax({...})) 4、你告诉小北,去XX房间(Ajax_Data.aspx)把东西拿来放进盒子里,并且放好了以后告诉你(success: function(msg) {}) 5、结果小弟刚转身,你就打开了盒子(alert(stockInfoJson)) 你认为这时候盒子里会有东西吗?
Gray Zhang | 园豆:17610 (专家六级) | 2011-02-22 19:28
有的,这个时候就是ajax返回的值,也许是我上面的代码没写清楚,我就是想将ajax返回的值放到临时变量中stockInfoJson var stockInfoJson = [ { name: "深发展A", code: "000001",spell:"sfza" }, { name: "万科A", code: "000002",spell:"wka"}, { name: "ST 国 农", code: "000004",spell:"stgn" }, { name: "世纪星源", code: "000005",spell:"sjxy" }, { name: "深振业A", code: "000006" ,spell:"szya"}, { name: "ST 达 声", code: "000007" ,spell:"stds"}, { name: "ST宝利来", code: "000008" ,spell:"stbll"}, { name: "中国宝安", code: "000009" ,spell:"zgba"}, { name: "S ST华新", code: "000010" ,spell:"ssthx"}, { name: "山航B", code: "200152" ,spell:"shb"}, { name: "*ST帝贤B", code: "200160" ,spell:"stdxb"}, { name: "雷伊B", code: "200168" ,spell:"lyb"}, { name: "宝石B", code: "200413",spell:"bsb" }, { name: "小天鹅B", code: "200418" ,spell:"xteb"}, { name: "粤高速B", code: "200429" ,spell:"agsb"}, { name: "宁通信B", code: "200468" ,spell:"ltxb"}, { name: "晨鸣B", code: "200488" ,spell:"cmb"}, { name: "珠江B", code: "200505" ,spell:"zjb"}, { name: "闽灿坤B", code: "200512" ,spell:"mskb"}, { name: "华电国际", code: "600027" ,spell:"hdgj"} ]; $(function(){ $("#suggest1").autocomplete(stockInfoJson, { minChars: 1, matchCase:false,//不区分大小写 autoFill: false, max: 10, formatItem: function(row, i, max,term) { var v = $("#suggest1").val(); return row.name + " (" + row.code + ")"; if(row.code.inde
like%'远远'% | 园豆:635 (小虾三级) | 2011-02-23 09:36
很简单,你在success回调函数里加个alert,看看你使用stockInfoJson的时候,alert有没有执行过
Gray Zhang | 园豆:17610 (专家六级) | 2011-02-23 10:27
在success 中alert有值,但是在外面就没有了,其实我要做什么东西你应该明白 就是 关于“autocomplete” jQuery("#txtkeyword").autocomplete("<%=this.Page.ResolveClientUrl("~/WebService.asmx/GetGoodsAutoComplete") %>", 能否给个完整的例子,看了很多不完整的例子,自己也试了很多次 还是不行
like%'远远'% | 园豆:635 (小虾三级) | 2011-02-23 13:53
http://jqueryui.com/demos/autocomplete 这里有文档 $('#xx').autocomplete({ source: '<%=this.Page.ResolveClientUrl("~/WebService.asmx/GetGoodsAutoComplete") %>' });
Gray Zhang | 园豆:17610 (专家六级) | 2011-02-23 14:24
这文档看的很吃力啊 ,这是我之前看的地址 http://www.cnblogs.com/kyo-yo/archive/2010/05/14/My-jQuery-AutoComplete.html
like%'远远'% | 园豆:635 (小虾三级) | 2011-02-23 18:15
其他回答(1)
0

success: 是异步回调执行 不阻拦 下面程序的执行。

慧☆星 | 园豆:5555 (大侠五级) | 2011-02-23 10:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册