2017-04-04 67 views
0

我可以看到更新的数据,当我刷新页面。当我使用$ state.reload它工作正常。所以如何解决这个问题,而不使用$ tate.reload我怎么才能更新数据,当我点击保存按钮。 这里是我的javascript代码:如何使用angularjs更新数据?

vm.myFuncUpdate= function() { 
    if (!vm.id) { vm.id= vm.infoFunc.date; } 
    if (!vm.pid) { vm.pid= vm.infoFunc.person} 

    mySrvc.myPostData(id,pid,function (response, status) { 
     console.log(response); 
     vmCancel(); 

    }); 

} 

HTML代码:

<input type="button" value="Save" ng- 
    click="myFuncUpdate()" /> 

服务:

this.myPostData= function (id, pid, funCallBack) { 
    $http({ 
     method: "POST", 
     url: "http://myapp/api/profile/details", 
     headers: { 
      'Content-Type': 'application/json; charset=utf-8', 
      'dataType': 'json' 
     }, 
     data: { id: id, pid: pid } 
    }).success(function (response, status) { 
     funCallBack(response, status); 

    }).error(function (reason, status) { 
     if (status == 400) 
      alert(JSON.stringify(reason)); 
     else if (status == 404) 
      alert("Something wrong!"); 
     else 
      alert("Something Wrong"); 

    }); 
} 

任何帮助,将不胜感激。

+0

真的不清楚你在问什么。“当我点击保存按钮时,我必须更新数据。但问题是,数据被更新了,但是我当我刷新页面时,可以看到更新的数据。“。这是否意味着你希望**看到更新,或者你不需要**? – Claies

+0

我可以看到你刷新页面后,只有pdated,为此我用$ state.reload.Is有任何可能的方式,而不是$ state.reload(); @Claies – pbsbr

+0

好吧,它*听起来像*您需要更新'.success'函数中的客户端数据。作为一个附注,你不应该使用'.success',它已经被弃用,并且从新的角度版本中被移除。 – Claies

回答

0

我猜你有一个API调用将获取并显示更新后的数据吗? 所以你只需要当您使用此API“http://myapp/api/profile/details

var init = function(){ 
     APIServices.profileData.success(function(data) { 
     self.newProfileData = data; 
     //console.log(self.newProfileData); 
    })  
    } init(); 
$rootScope.$on('update-Data', function(){ 
     init(); 
    }); 

this.myPostData= function (id, pid, funCallBack) { 
$http({ 
    method: "POST", 
    url: "http://myapp/api/profile/details", 
    headers: { 
     'Content-Type': 'application/json; charset=utf-8', 
     'dataType': 'json' 
    }, 
    data: { id: id, pid: pid } 
}).success(function (response, status) { 
    funCallBack(response, status); 
    **$rootScope.$broadcast('update-Data');** 

}).error(function (reason, status) { 
    if (status == 400) 
     alert(JSON.stringify(reason)); 
    else if (status == 404) 
     alert("Something wrong!"); 
    else 
     alert("Something Wrong"); 

}); 

}

这是更新模板的方法之一,PS再次打电话说:我认为u有一个提取API,如果不那么我认为你可以使用$ watch来观看模型

+0

对不起,我不能让你在哪里我必须调用init();函数 – pbsbr

+0

你有一个fetch API吗?这将获取你更新的配置文件数据? –

+0

是的,我有api这将获取更新的数据 – pbsbr