为了账号安全,请及时绑定邮箱和手机立即绑定

angularjs 怎么让$http请求完成后再执行赋值函数?

angularjs 怎么让$http请求完成后再执行赋值函数?

慕神8447489 2018-11-06 13:15:35
定义参数var data = []get请求json数据$http.get("/get") .then(function (response) {     data=angular.fromJson(response.data.dt);    //赋值     });输出 只为了说明在外面访问不到alert(data)因为下载了一个smark-table模板,改动时候发现,只能在最外层给页面要迭代的json对象赋值,不能嵌套在返回函数里面,原因未知。。。。最后我得到的输出结果是空的说明alert在$http之前执行了,或者其他原因请问有经验的大啊神们 怎么解决
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

1.按照你提供的代码,
alert(data) 肯定提前执行了,因为AJAX默认的行为是异步的。
2.在模板页面使用数据源的地方,添加ngIf指令,另外如果模板上要用一定要导出到ViewModel对象上。
3.先查看一下是否有异常信息,另外看一下组件相关说明资料。另外也确认一下返回的数据类型和数据结构是否正确,断点调试一下。
4.正常都不用手动进行jsonString的反序列化,如果手动调用,最好加个异常处理代码,另外该接口返回的Content-Type类型是什么?

查看完整回答
反对 回复 2018-12-04
  • 1 回答
  • 0 关注
  • 1262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信