我似乎陷入了死胡同.
我尝试使用jQuery加载数据,.get()但在调试时,它显示函数执行两次,因此值prodList丢失.
$.get(url, function (model) {
prodList = $.parseJSON(model);
alert(prodList);
});
alert(prodList);
Run Code Online (Sandbox Code Playgroud)
在第一个中alert(),它显示从服务器返回的数据.但在第二个alert()它显示空字符串.
我究竟做错了什么?
您显示的代码并未表明执行存在任何问题.
关于值的警报.
$.get()是一个异步执行,意味着代码执行在.get()启动后继续.
您指定的回调函数在.get()完成之前不会执行,但其余代码将一直持续到那时为止.
因此,第一个警报会显示执行回调之前的值,因此prodList尚未填充.
然后在回调函数中填充值后显示第二个警报.
$.get(url, function (model) {
prodList = $.parseJSON(model);
alert(prodList); // prodList is now populated
});
alert(prodList); // prodList here is alerted before it is populated
Run Code Online (Sandbox Code Playgroud)
如果你想对你做一些事情prodList要么在回调函数本身内使用它,要么从回调函数调用另一个函数,prodList作为参数传递以在那里处理它.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |