angular - angular - 表单提交后,是否应该更改URL?

99 1

我正在从localhost:4200服务Angular,并从localhost:3000,在我的localhost:4200/sign-up路由中,我有一个<form action=https://localhost:3000/users/sign-up>


<form #form [formGroup]="userForm" method="POST" action="https://localhost:3000/users/sign-up">



 . . . 


 . . . 



 <input type="submit" value="Submit" (click)="form.submit()" [disabled]="!userForm.valid || !usernameIsUnique">


</form>



在提交表单之后,我处理提交,保存数据(使用user.save() ),以测试事件的工作方式,res.json(JSON.parse('{"foo":"bar"}')


exports.user_create_post = [


 . . . 


 (req,res,next) => {


 var user = new UserObj(


 { . . . });


 user.save(function(err) { . . . });


 res.json(JSON.parse('{"foo":"bar"}'));


 }]



res.json()之后,我的网址仍在,https://localhost:3000/users/sign-up我有一个控制台错误: Content Security Policy: The page’s settings blocked the loading of a resource at https://localhost:3000/favicon.ico (“default-src”).

假设没有错误,那么URL是否仍然在 https://localhost:3000/users/sign-upres.json()响应之后,或者浏览器URL恢复到referrer时,即,换句话说,在没有错误的正常情况下,表单提交实际上将浏览器URL改为localhost:4200/sign-up属性( https://localhost:3000/users/sign-up)还是将数据提交到action属性URL (? https://localhost:3000/users/sign-up),但是将浏览器URL保留在referrer URL (localhost:4200/sign-up )?

如果表单提交将URL更改为 https://localhost:3000/users/sign-up这是否意味着res.json()也被发送到 https://localhost:3000/users/sign-up(而不是localhost:4200/sign-up )如果这样,这将解释为什么我有问题,此外,假定res.json()被发送到,https://localhost:3000/users/sign-up,而不是引用(localhost:4200/sign-up ),如何直接向localhost:4200/sign-up发送并将JSON响应发送给localhost:4200/sign-up (假设每个请求只允许一个响应)?

谢谢!

时间: 原作者:

82 4

考虑到你提到的/sign-up路由,可以假设你已经实现了路由,Router作为一个依赖项和调用 navigate在成功响应后对用户进行导航。

因此浏览器将阻止CORS ,你可以使用 cors中间件来处理它。

原作者:
...