Angularjs的HTTP只工作一次
angularjs http works only once
我在论坛上看到了一些类似的帖子,但没有找到解决我问题的方法。也许是因为我不熟悉js/angular之类的东西。是这样的:
完美的图片:我点击按钮数据(一些文本/数字)从服务器更新和显示。
我的问题是——我只得到一次数据。后来调用了jquery.js中的其他函数,而不是我的。
if ( !(eventHandle = elemData.handle) ) {
eventHandle = elemData.handle = function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
undefined;
};
我代码:controllers.js:
myApp.controller('ajaxController', function($scope, $http, $log){
$scope.ajaxData={};
$scope.ajaxData.doClick = function(item, event){
$http({method: 'GET', url: 'temp/temp.json', params: { 'foobar': new Date().getTime() } }).
success(function(data, status, headers, config) {
$log.debug(data);
$scope.ajaxData = data;
}).
error(function(data, status, headers, config) {
$log.debug("not good");
});
index . html:
<div class="container" ng-controller="ajaxController"> (...)
<button ng-click="ajaxData.doClick(item, $event)">Send Request</button>
percentage: {{$scope.ajaxData.data.cpu}}</br>
usage: {{$scope.ajaxData.total}}</br>
idle: {{$scope.ajaxData.idle}}</br>
我可以看到在chrome控制台,第一个请求是完成的,它成功了,后来的代码上面提到的执行,而不是我得到没有数据。
在你的成功函数中,你用你的响应覆盖ajaxData
$scope.ajaxData = data
表示$scope.ajaxData.doClick
不再存在。尝试将doClick
绑定到$作用域。
相关文章:
- Jquery FadeIn FadeOut 只工作一次
- jQuery滚动功能只工作一次
- iOS鼠标中心绑定只工作一次
- mongoose.js Model.remove在循环中只能工作一次
- 复选框一次选中一个不在gridview中工作
- Regex拆分-工作一次
- EventListener只能工作一次
- jQuery animate只在单击时工作一次
- data th JS每页只工作一次
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- remove仅每隔一次进行儿童工作
- CSS 类在验证时只工作一次
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 单击仅工作一次
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- Yelp API、OAuth和Angular与JSONP只工作一次
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 滚动时加载更多 滚动速度时一次工作两次
- 为什么一个ng应用程序一次工作
- Ajax请求只在每隔一次工作