gpt4 book ai didi

AngularJS $ http ajax请求不是异步的,并导致页面挂起

转载 作者:行者123 更新时间:2023-12-03 10:05:22 26 4
gpt4 key购买 nike

我有一项从服务器提取数据的服务。当我单击按钮以通过此服务将请求发送到服务器时,该窗口将卡住,直到收到服务器的响应。有什么我可以做的使这个请求异步?

这是我的服务。

app.factory('service', function($http) {
return {
getLogData : function(startTime,endTime){
return $http({
url: baseURL + 'getLogData',
method: 'GET',
async: true,
cache: false,
headers: {'Accept': 'application/json', 'Pragma': 'no-cache'},
params: {'startTime': startTime , 'endTime': endTime}
});
}
};
)};

HTML。
<button ng-click="getData()">Refresh</button>
<img src="pending.gif" ng-show="dataPending" />

代码
$scope.getData = function(){
service.getLogData().success(function(data){
//process data
}).error(function(e){
//show error message
});
}

最佳答案

尽管有一些关于您的方法的利弊的争论,但我认为问题已在此处得到解决:AJAX call freezes browser for a bit while it gets response and executes success

要测试这是否实际上是问题的一部分,请模拟响应并静态提供。我使用Fiddler或WireShark来获取响应,然后保存到testService.json之类的文件中。 XHR及其所有各种派生类(例如$ HTTP $ .ajax)将其视为服务,尽管 header 可能略有不同。

关于AngularJS $ http ajax请求不是异步的,并导致页面挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com