Javascript 如何包括=&引用;在AngularJs$http.get参数中?

Javascript 如何包括=&引用;在AngularJs$http.get参数中?,javascript,angularjs,http,typescript,get,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=t

我试图在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方案的另一种可能方法:

?type=my_type&filterEventId=this_event_id&filterLocationId=this_location_id

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

您必须使用不同的机制来传递特定的筛选器或反序列化服务器上的“等于”符号

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

?type=my_type&filterEventId=this_event_id&filterLocationId=this_location_id

是的,我知道这是意料之中的行为,我只是希望这件事能有办法解决。谢谢是的,我知道这是意料之中的行为,我只是希望这件事能有办法解决。谢谢这是预期的行为。您的服务器(api)应该能够解码uri组件。当您在参数上使用
params
angular内部使用
encodeURIComponent
时,在这种情况下,您也可以尝试不使用
params
,而是手动构造查询,即
this.$http.get(EVENTS_ENDPOINT+['?type=',type'&filter=',eventId=',eventId].join(“”)但是,这取决于服务器将如何读取它。这是预期的行为。您的服务器(api)应该能够解码uri组件。当您在参数上使用
params
angular内部使用
encodeURIComponent
时,在这种情况下,您也可以尝试不使用
params
,而是手动构造查询,即
this.$http.get(EVENTS_ENDPOINT+['?type=',type'&filter=',eventId=',eventId].join(“”)但是,这取决于服务器将如何读取它。