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中間件來處理它。

原作者:
...