Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不解析承诺的情况下使用$http.post和res.redirect_Javascript_Node.js_Angularjs_Express_Response.redirect - Fatal编程技术网

Javascript 在不解析承诺的情况下使用$http.post和res.redirect

Javascript 在不解析承诺的情况下使用$http.post和res.redirect,javascript,node.js,angularjs,express,response.redirect,Javascript,Node.js,Angularjs,Express,Response.redirect,我正在使用$http.post调用我的服务器并发送一些用户数据: $http.post('/streamdb/create/',{user:$scope.user.username}) 然后,我的服务器执行一系列操作,并从数据库中检索某个id。 我想让客户端重定向到页面('streams/'+id),因此我让操作以 res.redirect('/streams/'+id) 我可以发送id: res.json({id:id}) 然后用$location或window.open(如图所示,或)

我正在使用$http.post调用我的服务器并发送一些用户数据:

$http.post('/streamdb/create/',{user:$scope.user.username})
然后,我的服务器执行一系列操作,并从数据库中检索某个id。 我想让客户端重定向到页面('streams/'+id),因此我让操作以

res.redirect('/streams/'+id)
我可以发送id:

res.json({id:id})
然后用$location或window.open(如图所示,或)响应.success()子句,但这似乎有点浪费:服务器已经知道向何处发送我,我为什么要进行额外调用

当服务器显示路由已完成时,新页面从未呈现,它只是停留在原始页面上


谢谢你的帮助

服务器端代码无法从ajax响应重定向浏览器。在没有ajax的情况下,从服务器端重定向可以正常工作的唯一原因是每次实际上都发送一个新页面,因此重定向意味着只需为不同的页面提供服务。Ajax请求不会得到整个新页面的响应,因此您只能停留在当前页面上。您需要执行“浪费”路径:)在响应正文中返回id,并使用您提到的angular$location服务重定向。我建议使用承诺并在其解决后执行重定向。

可能重复的