Как передать URL через Angular? - PullRequest
       1

Как передать URL через Angular?

0 голосов
/ 15 октября 2018

Это то, что я пытаюсь сделать, но я знаю, что косые черты не в порядке в URL

http://localhost:57101/api/employee/holiday?userName=dinchmle&Date=05/10/2018&StateVal=2

и вот мой угловой код обслуживания

 updateEmployee(userName: string, holiday: Holiday): Observable<Employee> {
    return this.http.put(this._employeeUrl + '/holiday?userName=' + userName + '&Date=' + holiday.date + '&StateVal=' + holiday.state, '')
    .map((res: Employee) => res)
    .catch(this.handleError);
  }

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Вы можете избежать косой черты как %2F.

Вот отредактированный пример:

updateEmployee(userName: string, holiday: Holiday): Observable<Employee> {
    let parsedDate = Date.parse(holiday.date);
    let month = parsedDate.getUTCMonth() + 1; //months from 1-12
    let day = parsedDate.getUTCDate();
    let year = parsedDate.getUTCFullYear();

    return this.http.put(this._employeeUrl + '/holiday?userName=' + userName + '&Date=' + day + '%2F' + month + '%2F' + year + '&StateVal=' + holiday.state, '')
        .map((res: Employee) => res)
        .catch(this.handleError);
}
0 голосов
/ 15 октября 2018

Просто закодируйте ваш URL с помощью функции encodeURI.Это займет все специальные символы в вашем URL.

 updateEmployee(userName: string, holiday: Holiday): Observable<Employee> {
    let url = this._employeeUrl + '/holiday?userName=' + userName + '&Date=' + holiday.date + '&StateVal=' + holiday.state;

    return this.http.put(encodeURI(url), '') // encode URL
    .map((res: Employee) => res)
    .catch(this.handleError);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...