ng视图路由模板是否反映了ajax请求所做的更改
Does a ng-view routed template reflect the changes made as a result of a ajax request?
我在这个模板中有一个表,它正在根据ajax请求进行更新。最初,此表为空。当我点击触发请求的按钮时,数据流会很好,但不会反映在表上。该表根本没有显示。
此外,我还有一个加载程序,它在触发ajax请求时显示。当我把html的这些部分放在ng-view
模板中时,即使这样也不起作用。ng-view
不应该这样使用吗?如果是,AngularJS中是否有其他替代方案来解决此模板问题?
index.html:包含被something.html
替换的ng-view
div
core.js:我有一个get请求,通过单击index.html
中的某个按钮将数据获取到我的"tables"变量中。我已经检查(使用console.log
)数据是否正确并被存储,问题是数据的这种变化没有反映在网站上。
something.html:包含使用ng-repeat
显示表格的代码。
我认为没有代码(这里或jsfiddle)我们无法提供帮助,但我想说的是:
-
我认为这与
ng-view
无关; -
是的,至少有一个很好的替代方案可以取代
ng-view
——它是ui路由器(它提供ui-view
)。Ui路由器功能更强大,但更复杂。出于您的目的,ui路由器有一个resolve
部分,您应该在其中放置页面加载之前应该完成的所有请求; -
此外,如果您需要在ajax bsed表中进行排序、过滤和更丰富的功能,那么使用ngTables库将是一个不错的选择。
-
也许问题是您没有将数据提供给html。我认为,当您将数据从服务器获取到
data
变量中时,应该通过作用域将其提供给html:$scope.data = data;
之后,您将能够在类似<div ng-bind="data"></div>
的html中使用它
- 你是如何进行AJAX调用的?您使用
$http
还是$resource
服务?如果没有(例如,如果您将其与jquery一起使用),则应该在此之后使用$scope.apply()
因此,在这种情况下,每次使用非角度工具更新数据时都应该调用$scope.apply()
;
附言:你可能会问为什么不<div>{{data}}</div>
。你知道,这可能是一样的,但angular开发人员建议在可能的情况下总是使用ng-bind
而不是{{var}}
(看看这个问题)。
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- node.js请求数据事件未在CORS ajax调用中触发
- jQuery Ajax GET请求工作不正常
- "日期“;AJAX请求返回的类型值未定义
- Django - 响应请求 AJAX
- 使用 jQuery 的 CORS 请求 - $.ajax()
- 如果无线电值为 ==1,则请求 ajax
- 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应
- POST请求ajax jquery错误
- CasperJS don'我没有请求AJAX
- 使用这种Facebook风格的Lightbox-请求AJAX-在一个页面上覆盖多个按钮
- 400错误请求ajax post请求
- 如何在开始发送请求ajax之前延迟3秒
- 与jQuery同时请求AJAX
- 使用POST请求AJAX发送json对象