ng new url-test-app
npm start
http://localhost:4200
。效果很好%_24Q3
,例如,
http://localhost:4200/?testParam=test%_24Q3
我们会得到以下问题,
URI malformed
at decodeURI (<anonymous>)
at viteTransformMiddleware (file:///D:/angular/url-test- app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:63436:19)
at call (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42750:7)
at next (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42694:5)
at viteHMRPingMiddleware (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:64700:13)
at call (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42750:7)
at next (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42694:5)
at next (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42672:14)
at viteCachedTransformMiddleware (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:63421:9)
at call (file:///D:/angular/url-test-app/node_modules/vite/dist/node/chunks/dep-k5wXcrSr.js:42750:7
我无法使用 Angular 错误处理程序来处理这个问题
http://localhost:4200/?testParam=test%_24Q3
该 URL 格式错误,因为
%
表示十六进制编码值的开头,但后面没有有效的十六进制数字。
您需要对
%
进行正确的 URL 编码,如 %25
- 因此您的 URL 需要为 http://localhost:4200/?testParam=test%25_24Q3
。然后调用 decodeURI
就可以了。