代码之家  ›  专栏  ›  技术社区  ›  SmartestVEGA

URL中的问号编码不正确

  •  0
  • SmartestVEGA  · 技术社区  · 6 年前

    我正试图在AngularTypeScript应用程序的按钮单击上创建如下的URL模式:

    http://localhost:4200/samplepage/scheduler?使用案例ID=3

    其中usecase.usecaseid是一个数字值。

    <td>
    <button class=“btn,btn prmary btm smtype=“button”(click)=“重定向到childpage('/samplepage/scheduler?”usecaseid=usecase.usecaseid')”>
    <i class=“FA日历”></i></button>日程安排
    &T/GT;
    < /代码> 
    
    

    但是,我得到了这个URL模式(实际)

    http://localhost:4200/samplepage/scheduler%3fusecaseid%3dusecase.usecaseid

    如何正确编码URL,如下所示:(预期)

    重定向到childpage

    重定向到childpage(url){
    this.router.navigate([url]);
    }
    < /代码> <

    enter image description here

    其中usecase.usecaseid是一个数值。

    <td>
      <button class="btn, btn-prmary btm-sm" type="button" (click)="redirectToChildPage('/SamplePage/scheduler?UsecaseId=usecase.UsecaseID')">
      <i class="fa fa-calender"></i></button> &nbsp;Schedule
    </td>
    

    但是,我得到了这个URL模式(实际)

    http://localhost:4200/SamplePage/scheduler%3FUsecaseId%3Dusecase.UsecaseId

    enter image description here

    如何正确编码URL,如下所示:(预期) enter image description here

    重定向到childpage

    redirectToChildPage(url) {
            this.router.navigate([url]);
        }
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   SmartestVEGA    6 年前
    redirectToChildPage(yourvalue) {
        this.router.navigate(['url'], { queryParams: { query: yourvalue } });
      }
    

    您需要在函数中添加查询参数才能正常工作!

    有关详细信息,您可以查看 here !

    解决方案

    <td> <button class="btn btn-primary btn-sm" type="button" (click)="redirectToChildPage('/his/scheduler',usecase.UsecaseId)"> <i class="fa fa-calendar"></i></button> &nbsp;Schedule </td> 
    
     this.router.navigate([url], { queryParams: { UsecaseId: usercaseID } });
    
        2
  •  0
  •   darklightcode    6 年前

    看一看 encodeURI decodeURI 他们可以帮助你。