我试图在 AngularJs $http.get params 部分中包含一个等号。相关代码如下:
let eventsRequest = this.$http.get(EVENTS_ENDPOINT, {
params: {
type: type,
filter: 'eventId=' + eventId
}
});
本质上,我希望将其序列化为:
?type=my_type&filter=eventId=this_event_id
但是,当我运行以下代码时,“=”被替换为 %3d。我尝试用“/”转义,但没有成功。我也尝试查看 Angular 文档,但找不到任何东西。知道如何使这项工作吗?
最佳答案
这实际上是将保留字符 (=) 作为查询参数值传递时的预期行为。您的浏览器URL encodes这些字符,以便可以在接收端(您的服务器)解析查询参数。
您必须使用不同的机制来传递特定过滤器或反序列化服务器上的“等号”。
另一种定义 URL 方案的可能方法:
?type=my_type&filterEventId=this_event_id&filterLocationId=this_location_id
关于javascript - 如何在 AngularJs $http.get 参数中包含 "="?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39302176/