从角度应用程序向Web API发布特殊字符

问题描述 投票:-1回答:1

API post方法如下所示,

[HttpPost]
public HttpResponseMessage CreateTemplate([FromUri]string templateName)
{
    //Code...
}

和Angular post方法如下所示,

CreateTemplate(templateName: string): Observable<any> {
    return this.httpClient.post<any>(Url + "Templates/CreateTemplate?templateName=" + templateName, "");
}

如何将特殊字符发送到Web API?如果我尝试发送特殊字符,我最终会在Web API中接收null。

c# asp.net angular .net-core http-post
1个回答
2
投票

#表示一个片段,它后面的所有内容都没有发送到服务器。

鉴于您将其用作查询字符串参数,您需要对其进行百分比编码:

templateName=" + encudeURIcomponent(templateName)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent

© www.soinside.com 2019 - 2024. All rights reserved.