如何在AngularJs $ http.get params中包含“=”?

时间:2016-09-03 00:26:55

标签: javascript angularjs http typescript get

我试图在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。我尝试用“/”转义,但它没有用。我也尝试查看角度文档,但找不到任何东西。知道如何使这项工作?

1 个答案:

答案 0 :(得分:0)

这实际上是将保留字符(=)作为查询参数值传递时的预期行为。您的浏览器URL encodes这些字符,因此可以在接收端(您的服务器)解析查询参数。

您必须使用其他机制传递特定过滤器或反序列化服务器上​​的“等于”标志。

另一种定义URL方案的可能方法:

classAccessProtected