我正在使用Expressjs作为API,并且正在使用angular来执行该POST。我想回应快递发送的重定向。Angular
POST的成功返回了我打算重定向到的页面的HTML,但是DOM没有任何反应。我可以看到我的重定向在网络流量中起作用,并且下面的console.log数据包含重定向页面的DOM。
如何刷新DOM,以反映此成功的POST,或处理“重定向”?
角码:
$http({method: 'POST', url: '/login', data:FormData}).
success(function(data, status, headers, config) {
console.log(data)
}).
error(function(data, status, headers, config) {
});
$scope.userName = '';
Expressjs API:
app.post('/login', function(req, res){
var name = req.param('name', null); // second parameter is default
var password = req.param('password', "changeme")
// Lots Authenticationcode
// returns succesfful login
res.redirect('http://localhost:3000/');
}); // end app.post
console.log(data)(来自Angular POST成功)
returns the HTML of the page I intended to redirect to
AngularJS旨在作为客户端框架,与(主要是)RESTfull API结合使用。您的登录API不应返回HTML,而应返回 重定向指令
。所以你的情况,你应该简单地调用$location.url('/')
你的$http
成功回调,这将使用角度路由器“重定向”,以“/”(根URL)。
我有一些大致看起来像这样的代码: 是一个冷可观察的,它在标准的同时循环中产生(但是在另一个线程上!)。在未配置时,获取一些数据并调用。 我面临的问题是太“慢”,它跟不上生成数据的速度。这是一个异步操作,本质上是将对内存中某个位置的客户机的调用排队(无法访问此代码),并最终填充堆。 我需要找到一种方法,当这些调用开始堆积时,让停止生成。有没有一种方法可以使用内置操作符来实现这一点?
这是凯文帮助后的代码。
有时一些业务逻辑的发生你每次都想重试它。最经典的例子就是远程调用,为了这个目的Spring Batch提供了一个Aop拦截器用来封装一个方法调用RetryOperations 。RetryOperationsInterceptor依据RetryPolicy 提供的RepeatTemplate 执行拦截方法和重试失败。 下面是一个示例使用Spring AOP命名空间的声明式迭代重复一个服务调用的一个
问题内容: 我有一个库,其中为我们的客户提供了两种方法,sync和async。他们可以调用他们认为适合其目的的任何方法。 executeSynchronous()-等待直到得到结果,然后返回结果。 executeAsynchronous()-立即返回一个Future,如果需要,可以在完成其他操作之后进行处理。 他们将传递其中包含用户ID的DataKey对象。然后,我们将根据用户ID确定要调用的计算
问题内容: 我正在将一些数据发布到正在回答302移动临时的服务器上。 我希望HttpClient遵循重定向并自动获取新位置,因为我相信这是HttpClient的默认行为。但是,我得到一个例外,而不是按照重定向:( 这是相关的代码,任何想法都将不胜感激: 问题答案: HttpClient的默认行为符合HTTP规范(RFC 2616)的要求 您可以通过子类化DefaultRedirectStrateg
11.7. 处理重定向 你可以使用两种不同的自定义 URL 头信息来处理永久重定向和临时重定向。 首先, 让我们来看看重定向处理的必要性。 例 11.10. 没有重定向处理的情况下,访问 web 服务 >>> import urllib2, httplib >>> httplib.HTTPConnection.debuglevel = 1 >>> request = url