我正在使用AngularJS并使用http调用REST。下面是我的AJAX代码,但我的所有请求都将在浏览器中处于挂起状态。我在互联网上搜索过这个问题并尝试了很多选项,但它没有用。
$http({
method: "POST",
url: './rest/sales/OrderPlacement',
data : $.param({
'j_username' : j_username,
'j_password' : j_password
}),
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
}
})
.success(function(data,status) {
console.log("Success occured");
$scope.searched_products = data;
$scope.myAccountName=j_username;
console.log(data);
$location.path("/checkout");
},
function(response) { // optional
$scope.error = error;
$location.path("/Login");
});
我使用spring security来中断我的REST调用并验证身份验证,整个应用程序部署在JBoss EAP 6.4上。我没有在服务器/ Spring日志中看到任何内容,因为请求未到达服务器。请建议我被卡住了。
答案 0 :(得分:0)
我的Angular fullstack应用程序(MEAN应用程序)遇到了类似的问题。在我的情况下,chrome显示完全相同的警告,并且请求状态暂时等待一段时间,直到超时发生。此时,我可以在服务器端看到有关超时的日志。这让我得到了一个线索,即请求实际上已经到达了后端,然而它在某些地方仍然存在于身份验证代码中。因此,UI从未得到后端的响应。
然后,我在后端代码中添加了一些日志,发现我的身份验证实现在特定的错误情况下没有正确响应。特别是当密码错误时。因此,正确的错误处理帮助我解决了这个问题。为什么chrome会像阻止请求一样(临时标题显示警告)
,这仍然很奇怪