【发布时间】:2019-10-08 17:16:03
【问题描述】:
我希望你们都是好人。我正在尝试使用我的同事使用 AngularJS $http 编写的 API。它是一种 PATCH 方法类型。其中一个参数在 URL (SomeMethod/User/FHD&TE) 中传递,另一个在正文 (JSON) 中传递。正文中的那个显然没问题,但是 URL 中传递的那个有问题,因为不时会出现一些特殊字符。 API 响应代码为 400,它显示“从客户端检测到潜在危险的 Request.Path 值”。我尝试使用转义和编码 JS 函数,但它们都不起作用。更重要的是,我用来发出请求的 angular.http 中有一个选项参数。据我所知,它负责对参数进行编码(解决特殊字符问题),但我不能使用它,因为 URL 会与 API 期望的不同。它将是“SomeMethod/User?FHDTE%”而不是“SomeMethod/User/FHD&TE”,并且显然回复 404。你现在是否可以在客户端解决这个问题,如果可以,我该怎么做?还是需要更新后端?
样品请求:
return $http({
method: 'PATCH',
url: ...SomeMethod/User/firstURLParameter,
headers: { 'Content-Type': 'application/json' },
data: { "secondBodyParameter": true }
});
【问题讨论】:
标签: javascript angularjs api http url